【问题标题】:Why 2 Copies of mails are copied when used gmail smtp and imap configuration to send mail为什么使用gmail smtp和imap配置发送邮件时会复制2份邮件
【发布时间】:2015-06-29 16:12:06
【问题描述】:

我正在使用 swift mailer 发送电子邮件,并使用 imap_append 函数将邮件复制到已发送文件夹中。 IMAP 文件夹设置适用于 Yahoo 和 Hotmail 帐户。

当使用 Gmail 帐户 SMTP 和 IMAP 配置发送邮件时,两个副本存储在发件人的“已发送”文件夹中。

这是我正在使用的 IMAP 代码:

$imapHostString = $mailSettings['imapServer'];

$imapHostString .= ($mailSettings['imapServerPort'] == 143)
    ? ":143"
    : ":{$mailSettings['imapServerPort']}/imap/ssl/novalidate-cert";

$mbox = imap_open('{' . $imapHostString . '}INBOX', $mailSettings['username'], $password);

imap_append($mbox, '{' . $imapHostString . '}' . $mailSettings['sentDirectoryName'], $message->toString() . "\r\n");
imap_close($mbox);

为什么会这样? 有什么gmail设置需要做的吗?

【问题讨论】:

  • 如果是gmail,不要附加到发件箱。

标签: php gmail imap swiftmailer gmail-imap


【解决方案1】:

这是因为 Gmail 会自动将通过其 SMTP 服务器发送的邮件复制到发件人的“已发送邮件”文件夹中,而 Yahoo 和 Hotmail 不会,因此需要您手动复制邮件。

除了尝试检测 SMTP 服务器何时是 Google 服务器之外,我不知道有任何方法可以检测这种情况。例如,如果 SMTP 服务器会告诉您它将执行此操作,那就太好了。

【讨论】:

  • 我正在尝试将邮件复制到另一个文件夹中(例如文件夹名称 - “XYZ”)。在此文件夹中,它还复制了两封邮件,gmail 的默认“已发送邮件”也包含同一邮件的两份副本。
猜你喜欢
  • 2014-06-25
  • 2021-04-06
  • 2017-11-04
  • 2014-10-20
  • 1970-01-01
  • 2017-11-14
  • 2011-08-01
  • 1970-01-01
  • 2015-09-28
相关资源
最近更新 更多