问题标签 [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 回答
92 浏览

php - 如何为 crontask 使用选择的 php.ini 文件?

我需要你的帮助。我希望能够自动执行使用 php imap 扩展(电子邮件获取)的操作,所以我使用的是 cron 作业(mac 上的 crontab),但在运行脚本时收到错误消息:在 Imap.php 第 97 行:未定义常量“OP_READONLY”</p>

我认为错误是因为没有为 php 命令行界面启用 php imap 扩展。所以我的问题是,如何使用位于/usr/local/etc/php/7.4.10/ 中的php.ini(用于Web 服务器nginx)。此外,我在 cronjob 任务中执行 php -v,似乎使用的 php 版本是 7.3.18,所以不是我在 Web 开发中使用的 php 版本。我使用 nginx、php 7.4.10、php-fpm 在 Mac IOS 11 Big Sur(测试版)上工作。预先感谢您的帮助

问候,基利安

0 投票
0 回答
78 浏览

imap - Webmin 服务器,PHP imap_open() 无法正常工作

我的客户使用 webmin 服务器来使用我开发的 CRM,在邮箱模块中,如果用户选择了一封他们想在邮箱中打开的电子邮件,有时每件事都很完美,如果在一段时间查看一封电子邮件后列出了电子邮件的邮件返回空内容,像这样随机发送请求成功返回一个 IMAP 值,有些请求返回一个空值,

但是在我的本地机器上,我在基于 Windows 操作系统的机器上使用 xamp 服务器开发了我的应用程序邮箱模块,在这里我得到了每个请求的准确结果,

现在我找到了发生这种情况的原因,原因是我的客户端 webmin 服务器无法正确打开 imap 流,在 imap_open 方法中所有参数都是真实的,但它从 imap_errors 方法返回随机连接失败消息,

我不明白为什么会这样,我也无法解决这个问题

所以请帮助我,帮助心灵真的很感激,

0 投票
0 回答
27 浏览

php - imap_fetchbody 返回奇怪的字符串

我在从电子邮件中获取消息正文时遇到了一些问题。我已经搜索了解决方案,但仍然没有找到解决方案。下面是代码

问题是 $message 变量带有一个奇怪的大字符串值,而不是带有消息值。我想拥有我们在发送电子邮件时编写的电子邮件的正文部分。

This is the value i get: RXN0ZSBldmVudG8gZm9pIGFsdGVyYWRvLg0KDQpUw610dWxvOiBSZXVuacOjbyBUw6ljbmljYSBP bnMzDQpRdWFuZG86IHF1aS4gMzAgU2V0LiAycG0g4oCTIHNleC4gMSBPdXQuIDIwMjEgN3BtIEhv cmEgZGEgRXVyb3BhIE9jaWRlbnRhbCAtICANCkxpc2JvYSAoYWx0ZXJhZG8pDQpDYWxlbmTDoXJp bzogbWFyY28uc2lsdmFAb25zZWFyY2

0 投票
0 回答
43 浏览

php - 为什么这个 php-imap 进程在阅读邮件时会随机挂起?

我正在尝试使用 lib php-imap v2.0.3 和 php 5.3 从 cron 启动的 symfony v2.8 命令读取来自 ftp的邮件。对于完全相同的邮件,有时该过程会挂起 Mailbox::getMail,有时它可以正常工作。不知道什么时候。我迄今为止最好的线索是这个 gdb 回溯。任何想法 ?谢谢

0 投票
1 回答
44 浏览

php - how to identify php imap client to gmail?

I want to identify my php imap client to gmail so user can check which imap is currently using the gmail.

The details who is using the gmail inbox right now can be check by click on details gmail activity details

when check email by thunderbird using imap connection. thunderbird identify itself like this thunderbird imap details

but when I try to get email gmail cannot recognize who is currently getting the emails

php imap details

can you tell which headers I need to pass in order to tell gmail that my client is reading the emails

0 投票
0 回答
98 浏览

php - PHP 未知:[UNAVAILABLE] 获取消息时 FETCH 服务器错误 (errflg=2)

运行以下命令一次时

我收到以下错误消息:

未知:[UNAVAILABLE] 提取消息时 FETCH 服务器错误 (errflg=2)

为了确认 PHP 的imap_fetchstructure函数导致了我在从函数顶部向下移动的die();每个imap_*函数之后使用的错误,直到我再次开始收到错误。这是我检查过的事情的清单:

  • 每封电子邮件都从雅虎成功检索并添加到数据库中,就好像没有出错一样;该过程取决于获取此电子邮件的结构,因此仅凭这一点,我就不知如何工作,同时还会引发错误。
  • 这实际上在已经在几百封电子邮件上测试了我的邮件脚本之后开始随机发生的(不是一次全部,在小得多的批次中)。
  • 只发生在 PHP 的imap_fetchstructure函数中;循环时(例如十封电子邮件),每次迭代都会发生错误。
  • 仅针对 Yahoo 邮件服务器发生,其他服务器不会使用完全相同的代码触发此错误。
  • 自定义错误处理程序无法返回行号(尽管我知道错误发生在哪里。
  • @imap_fetchstructure()尽管仍在报告错误,但我尝试通过使用来抑制错误。
  • 我尝试将代码粘贴到try {}/中catch (exception $e) {},但再次报告错误。
  • 我重新启动了我的服务器并提取了一个不同的 IP,只是因为它在更愚蠢的情况下有效,尽管没有骰子。
  • [编辑] 问题开始后不到一个小时就停止了。

我遇到过一些人在Mozillazine上进行过报道:

我最近也开始使用我的雅虎帐户收到此“[UNAVAILABLE] UID FETCH Server error while fetching messages”。

他们的下一篇文章:

所以今天,不用做任何不同的事情,问题就自行解决了。这似乎是说它是在雅虎的一端,但奇怪的是,虽然它发生在 Thunderbird 中,但它没有发生在其他电子邮件客户端中。

除了硬编码我的自定义错误处理程序以忽略此错误之外,我如何抑制或编码我的系统以更好地处理这种情况?

0 投票
1 回答
29 浏览

php - 如何保持进程在后台运行?- 拉拉维尔

我正在使用php-imap包,我想收听传入的电子邮件。

实现这一点的方法php-imap是调用一个idle()函数,如下所示:

问题是idle()函数永远不会完成运行,其余代码也永远不会执行。

我需要idle()为每个用户调用该函数,因为我必须监听所有用户的传入电子邮件。

我试图为每个用户设置一个作业并将其分派到一个队列,但是作业永远不会结束(并且由于用户数量发生了变化,工作人员的数量必须改变),我找不到办法在需要时停止工作。

我还需要一种方法来停止执行idle()特定用户的功能,例如,如果用户删除其帐户。

有没有办法在后台运行那段代码,而不干扰代码执行,并有可能停止执行特定的流程实例?