问题标签 [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.
php - 如何使用 php_imap 清除完整的 IMAP 邮箱
我正在使用PHP IMAP,我想删除我邮箱中的所有邮件,但我找不到选择所有文件夹的方法。
我可以使用以下方法检索所有文件夹名称imap_listmailbox
:
例如雅虎:返回以下文件夹名称:(收件箱、批量邮件、草稿...)
而且我可以连接到所有这些文件夹并mails
使用循环删除内部,但不能同时进行,因为我必须始终指定FolderName
类似下面的示例:
当我尝试不使用文件夹名称时,例如:
即选择默认文件夹INBOX
。
当我尝试使用时ALL
,例如:
那不返回任何东西。
注意:在 GMAIL 中,我发现他们有一个名为的文件夹[Gmail]/Tous les messages
,其中包含所有邮件。
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 操作,如删除、移动等。
php - 当部分设置为 1.2 时,PHP imap_fetchbody() 函数不返回
背景
我正在运行以下代码来使用IMAP PHP 扩展检索电子邮件:
问题
将imap_fetchbody()
section
参数设置为1
,我会收到完整的电子邮件,包括标题和 HTML。http://pastebin.com/np84rG7r
但是,当将参数更改为1.2
以将消息标识为 HTML 时,它不会返回任何内容。
为什么会这样?
更新
我已经制作了一小段代码来手动完成工作,直到我找出它不起作用的原因:
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
没有看到。
php - php-cli imap_open 总是要求输入密码
我正在尝试使用 imap_open 连接到邮箱,使用以下简单代码:
如果我通过 php-cli 执行它,它会要求我输入密码......无论我输入什么密码,它都会起作用。我确定用户名和密码是正确的(通过 telnet 测试),所以我不知道为什么要再次要求它。
任何想法?
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
php - PHP - 从电子邮件下载 WAV
我们目前有一个 PHP 脚本,可以访问我们的电子邮件并提取.wav
要访问的文件以用于语音邮件目的。
但是新的语音邮件系统发送.wav
这样的:01359272577 03-14-16 20h14.wav
,旧系统是这样发送的:msg100.wav
。
该脚本在没有空格时下载 wav 文件。当文件名称中有空格时,我无法解决为什么它不会这样做。
已编辑请参阅下面没有 SQL 的新脚本。它会做所有事情,但如果原始文件名有空格,它不会提取文件。
编辑玩得更多。如果您再次发送电子邮件。但首先将文件拖到桌面,然后再拖回电子邮件中。它下降 1kb,然后将文件放入文件夹并 100% 工作
有人可以帮我解决这个问题吗?
一点调试,关于文件可以在下面看到。
没有解压的文件。
做的文件。
这是我的代码:
php - Imap统计电子邮件帐户的所有邮件
我正在尝试计算来自和电子邮件的所有电子邮件,但我的脚本只计算来自收件箱的邮件,
任何人都知道如何计算来自邮件帐户的所有电子邮件,包括已发送、垃圾邮件、已删除等
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版本吗?
php - 从电子邮件中过滤“=2E”
我们通过 PHP5-imap 检索和解析电子邮件,在解析电子邮件时,我们注意到一些电子邮件包含不会自动过滤掉的特殊字符(例如:=2E
或=
换行符之前)
过滤这些字符的最佳方法是什么?
我们使用这部分代码来获取邮件正文: