【问题标题】:Do emails sent with php email() show up in the sent folder? [duplicate]使用 php email() 发送的电子邮件是否显示在已发送文件夹中? [复制]
【发布时间】:2012-10-28 04:20:36
【问题描述】:

可能重复:
Putting E-mail into “sent” folder after PHP mail function

我尝试发送几封电子邮件来测试 php mail() 功能,似乎在 gmail 中,电子邮件显示在已发送文件夹中,但在其他电子邮件客户端中却没有。如果我要从 steve.jobs@apple.com 这样的帐户向自己发送电子邮件,它会显示在该电子邮件的已发送文件夹中吗?不是我想那样做,只是我很好奇。

【问题讨论】:

  • 没有。那样不行。 SMTP 进入帐户,然后发送邮件可能会出现,但典型的 sendmail 不会发生这种情况。
  • 没有。一点也不。从不(除非它们是这样配置的)。这些系统都是独立的(尽管最近一位程序员确实将一封来自一位谷歌创始人的电子邮件欺骗了另一位)。
  • 从服务器发送过来的。除非 MTA 配置为提供某种已发送文件夹,否则不会。大多数情况下,没有。

标签: php email


【解决方案1】:

这取决于您的电子邮件提供商。

对于大多数电子邮件提供商,电子邮件不会显示在“已发送邮件”文件夹中。电子邮件使用 SMTP 直接发送,其中没有文件夹的概念。当客户在“已发送邮件”文件夹中保留一份副本时,这只是客户的一项功能。

典型的 SMTP 工作流程(非常高级):

> compose message -> "send" (local client may save a copy)
> sendmail(login-info, recip, content) -> SMTP server
> internet magic happens here (email routing) >
> destination server -> POP3/IMAP/web -> recipient's mailbox

Gmail 有点不同...由于他们实施了自己的 SMTP 服务器,因此他们使用您的帐户凭据捕获通过中继的所有邮件并保留一份副本。这对他们来说有点独特。请注意,这只会在使用浏览器界面的 IMAP 连接时显示在您的 Gmail 发送项目中。如果您使用客户端访问您的电子邮件,它不会显示在本地“已发送邮件”文件夹中。

Gmail 风格的邮件工作流程(注意 Gmail 服务器的唯一区别):

> compose message -> "send" (local client may save a copy)
> sendmail(login-info, recip, content) -> SMTP server (Gmail server saves a copy)
> internet magic happens here (email routing) >
> destination server -> POP3/IMAP/web -> recipient's mailbox

即使是上述 Gmail 的情况,您也不会访问其他人的“已发送邮件”文件夹。因为您提供了登录凭据来发送电子邮件,所以它最终会出现在您帐户的已发送项目中。现在,如果您碰巧访问了其他人的电子邮件凭据以发送电子邮件,那就另当别论了(对其他人来说也是个问题)...

如果您可以访问电子邮件中继,请试一试,看看会发生什么。尝试以“比尔·盖茨”或其他有趣的别名向自己发送电子邮件。如果您设法让电子邮件通过,请查看收件人的原始标题,看看显示了哪些信息。

【讨论】:

  • 这很有趣。不能以恶意方式使用 email() 冒充另一个人发送电子邮件吗?有没有办法查看电子邮件不是直接从相关帐户发送的?
  • 您所描述的是“开放式邮件中继”与需要身份验证的区别。与任何受信任的中继一样,Gmail 需要凭据才能发送消息。您可以尝试以其他人的身份发送邮件,但您的电子邮件帐户会显示在收件人的邮件标题中。真正允许冒充“任何人”的服务器很快就会被任何合理的垃圾邮件过滤器列入黑名单。通过这些服务器发送的任何邮件都可能在目标邮箱被拒绝。
  • 即使服务器确实允许冒充任何人,电子邮件仍然不会显示在用户的已发送文件夹中,对吗?
  • @PinGran 正确...我在上面的答案中添加了一些内容以帮助澄清。
  • 太好了,谢谢。那么电子邮件出现在我发送的文件夹中的原因是因为我登录了那个浏览器?否则它不会出现在那里,对吧?
【解决方案2】:

IMAP 会将其保存在已发送的文件夹中,SMTP 不会 - 如果您从手机发送 SMTP,它将保留在您发送的手机中,但如果您发送它,则不会在其他任何地方从您的家庭前景来看,它会留在那里.. 如果您通过 PHP 发送它,它几乎肯定不会保存在任何地方(但您可以密件抄送:它给自己).. 但是当您通过 gmail 发送时,您通过一个帐户发送他们为您复制它(免费)

【讨论】:

    【解决方案3】:

    没有。您没有使用您的客户端,而是直接使用 SMTP 服务器。

    当您直接使用自己的电子邮件客户端时,您只会在发送文件夹中获得副本。您的邮件客户端通常会为您连接到 SMTP 服务器并保留一份本地副本。

    【讨论】:

      猜你喜欢
      • 2018-05-08
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 2021-07-08
      • 2012-08-29
      • 2021-12-08
      相关资源
      最近更新 更多