问题标签 [php-imap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
796 浏览

php - 如何使用 php_imap 清除完整的 IMAP 邮箱

我正在使用PHP IMAP,我想删除我邮箱中的所有邮件,但我找不到选择所有文件夹的方法。

我可以使用以下方法检索所有文件夹名称imap_listmailbox

例如雅虎:返回以下文件夹名称:(收件箱、批量邮件、草稿...)

而且我可以连接到所有这些文件夹并mails使用循环删除内部,但不能同时进行,因为我必须始终指定FolderName类似下面的示例:

当我尝试不使用文件夹名称时,例如:

即选择默认文件夹INBOX

当我尝试使用时ALL,例如:

那不返回任何东西。

注意:在 GMAIL 中,我发现他们有一个名为的文件夹[Gmail]/Tous les messages,其中包含所有邮件。

0 投票
1 回答
605 浏览

php - php : imap 消息序列号在删除一封电子邮件后更改

我有一个应用程序,人们可以在其中通过 IMAP 配置电子邮件帐户并执行阅读电子邮件、删除、移动等操作。我面临的问题是,在删除一封电子邮件时,其他电子邮件会被删除。经过调试,我发现有 2 个用户配置了相同的电子邮件帐户,他们正在从 2 个不同的浏览器中删除电子邮件而没有刷新页面。

实际上,在删除 imap_fetch_overview 返回的一封电子邮件后,msgno会发生更改,但在其他页面中,相同的邮件仍处于打开状态,并且具有旧的 msgno,并且在删除该电子邮件时,其他邮件将被删除。

删除前后检查 msgno

在上面的示例中,删除主题为“test 4”的邮件后,“test 6”、“test 7”、“test 8”的 msgno 被更改。现在,如果以前打开过邮件的其他用户尝试删除主题为“test 7”的邮件,实际上将删除主题为“test 8”的邮件。

要删除电子邮件,我正在使用以 msgno 作为参数的 imap_delete 函数。请帮助如何处理此类问题,或者有没有办法为每封不会更改的邮件获取唯一标识符,并且使用该标识符我还可以执行 IMAP 操作,如删除、移动等。

0 投票
1 回答
2054 浏览

php - 当部分设置为 1.2 时,PHP imap_fetchbody() 函数不返回

背景

我正在运行以下代码来使用IMAP PHP 扩展检索电子邮件:

问题

imap_fetchbody() section参数设置为1,我会收到完整的电子邮件,包括标题和 HTML。http://pastebin.com/np84rG7r

但是,当将参数更改为1.2以将消息标识为 HTML 时,它不会返回任何内容。

为什么会这样?

更新

我已经制作了一小段代码来手动完成工作,直到我找出它不起作用的原因:

0 投票
0 回答
96 浏览

php - imap_num_msg 没有返回正确的数量

所以我去了/home/myname/Maildir/new,我在那个文件夹中看到了三个文件。

在 PHP 中imap_num_msg(imap_open("{localhost:143/novalidate-cert}INBOX", "myname", "mypass")),我会得到 1 作为输出。

数字不应该一样吗?

sendmail myname@localhost < email.txt在 CLI 上执行此操作,但消息出现在/home/myname/Maildir/new其中,但imap_num_msg没有看到。

0 投票
1 回答
236 浏览

php - php-cli imap_open 总是要求输入密码

我正在尝试使用 imap_open 连接到邮箱,使用以下简单代码:

如果我通过 php-cli 执行它,它会要求我输入密码......无论我输入什么密码,它都会起作用。我确定用户名和密码是正确的(通过 telnet 测试),所以我不知道为什么要再次要求它。

任何想法?

0 投票
1 回答
179 浏览

php - 使用 php-imap 库获取 GMAIL 消息 ID

我在不使用 API(具有登录/密码授权的标准 php-imap 库)的情况下获取 gmail 消息 ID 时遇到了麻烦。我找到了有关 X-GM-THRID 标志的信息,但是如何将它与这个http://php.net/manual/ru/ref.imap.php库中的标准函数一起使用?

我想得到这个ID https://yadi.sk/i/lF_9rRMZps3n5

0 投票
1 回答
131 浏览

php - PHP - 从电子邮件下载 WAV

我们目前有一个 PHP 脚本,可以访问我们的电子邮件并提取.wav要访问的文件以用于语音邮件目的。

但是新的语音邮件系统发送.wav这样的:01359272577 03-14-16 20h14.wav,旧系统是这样发送的:msg100.wav

该脚本在没有空格时下载 wav 文件。当文件名称中有空格时,我无法解决为什么它不会这样做。

已编辑请参阅下面没有 SQL 的新脚本。它会做所有事情,但如果原始文件名有空格,它不会提取文件。

编辑玩得更多。如果您再次发送电子邮件。但首先将文件拖到桌面,然后再拖回电子邮件中。它下降 1kb,然后将文件放入文件夹并 100% 工作

有人可以帮我解决这个问题吗?

一点调试,关于文件可以在下面看到。

没有解压的文件。

做的文件。

这是我的代码:

0 投票
2 回答
2766 浏览

php - Imap统计电子邮件帐户的所有邮件

我正在尝试计算来自和电子邮件的所有电子邮件,但我的脚本只计算来自收件箱的邮件,

任何人都知道如何计算来自邮件帐户的所有电子邮件,包括已发送、垃圾邮件、已删除等

0 投票
1 回答
697 浏览

php - PHP base64_encode PDF 文件损坏

我有一个自动的 PHP 脚本,它连接到一个邮箱,读取电子邮件并处理它们以创建票证。其中一些电子邮件包含各种类型的文件附件。我的脚本使用以下代码将文件直接保存到 postgress 数据库。我正在使用代码点火器。

但是,大多数文件都可以毫无问题地保存。我的问题是部署此脚本时某些 pdf 文件损坏了。脚本在编码为 base64 之前将文件保存到本地磁盘。所有这些文件也很健康。我怀疑在pg_escape_bytea(base64_encode(file_get_contents($fileurl))).

我在本地 PC 上使用 php 5.5.9/Ubuntu 开发了这个脚本,并且没有任何文件在那里损坏。但是该脚本部署在具有 php 5.3.10 的 Ubuntu 服务器上,并且文件在那里损坏。

我试图找出造成这种情况的原因,但到目前为止还没有锁定。这是因为不同的php版本吗?

0 投票
0 回答
36 浏览

php - 从电子邮件中过滤“=2E”

我们通过 PHP5-imap 检索和解析电子邮件,在解析电子邮件时,我们注意到一些电子邮件包含不会自动过滤掉的特殊字符(例如:=2E=换行符之前)

过滤这些字符的最佳方法是什么?

我们使用这部分代码来获取邮件正文: