【问题标题】:how to prevent phpmailer sending email with different "from" address?如何防止 phpmailer 发送具有不同“发件人”地址的电子邮件?
【发布时间】:2012-12-10 03:14:53
【问题描述】:

我问这个问题只是因为我很好奇,可能这是一件非常愚蠢且众所周知的事情,但我在网上找不到答案:

今天我正在帮助一位朋友开发他的网站。他让我准备一个 html 电子邮件模板,他可以使用 phpmailer 通过他的网站(例如 www.myfriendswebsite.com)发送该模板。我通过将他的电子邮件地址(例如 info@myfriend.com)放在“发件人”部分中来准备并在我的域/服务器中进行测试。我通过我的网站(例如 www.mywebsite.com)向我的个人电子邮件地址(例如 myname@hotmail.com)发送了一封电子邮件,当我收到电子邮件时,我意识到我什至看不到我的域的姓名或电子邮件地址(例如 info@mydomain.com);相反,我看到的是我朋友的电子邮件地址 (info@myfriend.com)。当我点击“回复”时,它会回复我朋友的地址;它看起来像是直接从我朋友的网站发送的。当然;如果我提取原始来源,我会看到我收到电子邮件的详细信息,但是是什么阻止了其他人使用我的电子邮件地址和垃圾邮件?我很确定这是另一种发送垃圾邮件和入侵人们帐户的方式,但有没有办法防止这种情况发生?这让我有点害怕,除了 Stackoverflow,我不知道还能去哪里 :)

【问题讨论】:

  • 请分享您使用的相关php代码,以便我们指出您哪里出错了。

标签: php email phpmailer


【解决方案1】:

一方面,您不应发送电子邮件,其中From: 由用户提供的数据填充;为此类目的使用 Reply-To: 标头。

您不应该这样做的原因是因为收件箱服务(例如 Google Mail、Yahoo 等)使用Sender Policy Framework (SPF) 来确定发送邮件的邮件服务器是否被授权代表域发送;您可能会冒着从您的服务器发送的邮件被识别为垃圾邮件而不被送达的风险。

所以,为了回答您的问题,即使可以伪装任何人的电子邮件地址,但由于改进了垃圾邮件过滤器和black lists,让这些邮件传递变得越来越困难,这样做甚至可以将您的邮件服务器列入黑名单.

【讨论】:

  • 这并不能完全回答我的问题,但你给了我非常好的信息,因此我接受了它作为答案。谢谢!
【解决方案2】:

是什么阻止了其他人使用我的电子邮件地址和垃圾邮件?

什么都没有。想象一张明信片,是什么阻止了其他人使用您的地址并将明信片发送到世界各地?什么都没有。

电子邮件也是如此,互联网的明信片。

【讨论】:

    【解决方案3】:

    像这样编辑标题将/应该解决问题。

    $headers = 'From: info@myfriend.com' . "\r\n";
    $headers .= 'Reply-To: info@myfriend.com' . "\r\n";
    $headers .= 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    

    【讨论】:

    • PHPMailer 不会以这种方式处理标头。这个具体的例子不会有帮助。
    • $mail->From = "info@myfriend.com"; $mail->FromName = "MyFriend.com"; $mail->主题 = $主题; $mail->正文 = $body; $mail->AddAddress($recipient,$recipient_name); $mail->AddReplyTo($replyto,"info@myfriend.com");
    猜你喜欢
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 2020-04-25
    • 2015-06-27
    • 2015-08-24
    相关资源
    最近更新 更多