如何使用phpmailer隐藏发件人电子邮件地址?

4

我正在使用phpmailer发送电子邮件。我需要知道如何隐藏或掩盖发件人的电子邮件地址。


5
为什么要这样做呢?许多服务器不允许您这样做。而且它还有一股邪恶的气味。 - thejh
6
你这样做有充分的理由吗?(专业提示:没有任何充分的理由。) - user395760
由于我们需要将公司的电子邮件地址显示为发件人,但我们没有任何电子邮件服务器。现在我正在使用Gmail服务器端口通过Gmail帐户发送消息,请帮助我。 - Mohan Ram
如果您的电子邮件是“隐藏的”,那么做这件事情是没有意义的,因为您的邮件将只会进入垃圾邮件收件箱。 - fedmich
6个回答

15

由于SMTP本身对发件人电子邮件地址没有任何要求,因此您可以指定任何发件人电子邮件地址。

如果您使用的实际SMTP服务器对电子邮件地址有限制(例如不允许公司域之外的发件人电子邮件的企业服务器),除非您可以影响邮件服务器配置,否则无法绕过该限制。

更新: 您在评论中表示想使用Gmail发送电子邮件,其中发件人地址不是Gmail地址。 没有办法做到这一点。


2
我认为那个回答不应该被踩,所以点赞。谷歌不允许你使用不同的“发件人”头发送邮件。 - Linus Kleen
能否在Gmail帐户内创建别名,就像在Gmail设置中一样,以不同的地址发送电子邮件...这是可能的,因此如果您在Gmail设置中将该地址设置为别名,则可以尝试实现它。值得一试。 - Brad

5
这是一个罕见的情况...如果您没有邮件服务器,仍然可以告诉PHPMailer从不同的地址发送邮件,只需将PHPMailer对象的From属性设置为所需地址即可。但是,如果您的服务器不存在,则客户端无法验证帐户,那么您的邮件更有可能被删除(在更宽容的情况下移到垃圾邮件中)。如果您试图模拟第三方邮件,则我将不再提供帮助。
注意:您的邮件服务器可能有效,但客户端仍然无法验证它,因此您会收到传递到垃圾邮件或被删除的邮件。请查看“必读”以了解如何解决此问题的一些内部信息。
另一方面,如果您已经拥有邮件服务器,请告诉PHPMailer您要使用它,将HostPort属性分别设置为您的域名和端口。如果要使用来自不同服务器的帐户,则记得正确设置UsernamePassword属性,您还可能需要根据服务器设置SMTPAuth = true;SMTPSecure ='ssl';。[注意:UsernameFrom可能不同]
现在,如果您想使用Gmail帐户,可以轻松地在Gmail中设置别名以发送另一个帐户的邮件[转到“设置”->“帐户和导入”->“发送邮件作为”->(单击)从另一个地址发送邮件],如果您有邮件服务器但无法承担在线费用,则需要启动服务器,以便您可以接收Gmail生成的确认代码以验证您的帐户。查看PHP端配置详细信息的推荐阅读。
最后,如果由于某些罕见的情况而无法告诉PHPMailer使用您的邮件服务器,但您确实拥有一个邮件服务器,并且该服务器能够接收邮件...则可以使用AddReplyTo('me@example.com','My Name');大多数客户端将理解必须将消息的回复(除非用户明确定义)定向到“me@example.com”在这种情况下。
免责声明:我对使用我在此处提到的方法所造成的任何伤害不承担任何责任,例如(但不限于)您的邮件帐户被禁用。
必读: 通过代码发送邮件的编程恐惧症

推荐阅读: PHPMailer教程 (旧版本)

无需隐藏或掩盖任何内容(这也不是一个好的方式)。


2

我假设你已经知道如何使用你所讨论的类。你可能已经有一些用于发送电子邮件的变量,比如var $From = "someguy@whatever.com";,你可以在该电子邮件地址中输入任何你想要的内容。Gmail不会关心电子邮件从哪里发送。但是这听起来并不太正规。还有一件事:Gmail需要一个Gmail账户来转发邮件。这没有问题,它不会被看到。


我曾经做过这件事,是的。当然,Gmail可能已经改变了政策。 - xaoax

0

你想要“将公司电子邮件地址显示为发件人”,但是你“没有任何电子邮件服务器”?

有人可以通过你的公司电子邮件地址向你发送电子邮件吗?如果可以,使用托管你的电子邮件的服务器来发送。

如果你真的没有公司电子邮件地址,那么我建议你获取一个像companyname@gmail.com这样的gmail地址,并从该地址发送。否则,该电子邮件将对许多收件人显示为垃圾邮件。

现在,如果你要发送电子邮件的人实际上已经注册成为你的邮件列表中的一员,那么你可以使用第三方应用程序(如Constant Contact)来进行广播。

如果他们没有注册,那么我建议你不要发送电子邮件。


0
在邮件头中,您可以同时拥有Sender:From:头部,在大多数邮件客户端中,它们显示为仅显示From或在某些情况下显示Sender代表From。使用这种方式是一种不错且干净的方法,可以发送来自与实际Sender邮件服务器不同的邮件地址。

-3

这是非常违法的。

 var $From = "someguy@whatever.com";

这是您尝试隐藏电子邮件地址的唯一选择。但无论如何,您的电子邮件都将被记录下IP地址。知道该怎么做的人仍然可以追踪电子邮件的来源。


好吧,也许不是非法的,但更可能是不道德的。我想在公司内部它可能有用,但我的意思是你可以通过发送假电子邮件来捣乱某人,比如情人、同事之类的。 - Ribbons Almark
我曾经使用 Telnet 打开继电器并从白宫网站(whitehouse.gov)发送邮件,就像 ALA GTMHH 那样。这是它的设计方式,电子邮件是不可信的。 - profitphp
是的,除非你能追踪到它的签名IP。 - Ribbons Almark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接