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

时间:2010-12-23 12:51:42

标签: php

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

6 个答案:

答案 0 :(得分:15)

您可以指定任何发件人电子邮件地址,因为SMTP本身并不对发件人电子邮件地址提出任何要求。

如果您使用的实际SMTP服务器对电子邮件地址(例如不允许公司域外的发件人电子邮件的公司服务器)施加限制,则无法解决此问题,除非您当然可以影响邮件服务器配置。

<强>更新 您在评论中说,您希望使用gmail发送电子邮件,其中发件人的地址不是Gmail地址。没有办法做到这一点。

答案 1 :(得分:4)

这是您在这里遇到的罕见情况...如果您没有邮件服务器,您仍然可以告诉PHPMailer从其他地址发送,只需设置From对象的PHPMailer属性到你想要的地址。可是等等!如果您的服务器不存在,客户端无法验证该帐户,那么您的邮件将更有可能被删除(在更仁慈的情况下转移到垃圾邮件)。如果你试图模仿第三方邮件,我将永远帮助你。

注意:您的邮件服务器可能有效,但客户仍然无法验证它,因此您将邮件发送到垃圾邮件或删除,以便有一些内部解决此问题...检查在下面的“必读”。

另一方面,如果您已经有一个邮件服务器,那么告诉PHPMailer您要使用它,将HostPort属性设置为您的域名并接受端口。如果您想要使用不同服务器的帐户,请务必正确设置UsernamePassword属性,您可能还需要设置SMTPAuth = true;SMTPSecure = 'ssl';在服务器上。 [注意:UsernameFrom可能不同]

现在,如果您想使用Gmail中的帐户,您可以轻松地在Gmail中设置别名以作为另一个帐户发送[转到设置 - &gt;帐户和导入 - &gt;发送邮件为 - &gt; (单击)从另一个地址发送邮件],如果您有邮件服务器但是无法在线使用,则需要启动服务器,以便您可以收到Gmail生成的验证码以验证您的帐户。检查推荐的读取PHP侧配置详细信息。

最后,如果对于一些罕见的环境,你不能告诉PHPMailer使用你的邮件服务器,但你确实有一个,并且那个能够收到邮件...你可以使用AddReplyTo('me@mymailserver.com', 'My Name');客户将理解,在这种情况下,对消息的任何回复必须(除非用户明确定义)指向“me@mymailserver.com”。

免责声明1 :我与mymailserver.com没有任何关系,任何与实际域名的匹配都不是故意的,只是巧合。

免责声明2 :对于使用我在此处提及的方法造成的任何损害,我不承担任何责任,例如(但不限于)您的邮件帐户被禁止。

必读: [通过代码发送邮件时编码恐怖] http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

推荐阅读

[PHPMailer Tutorial] http://www.askapache.com/php/phpfreaks-eric-rosebrocks-phpmailer-tutorial.html

[PHPMailer教程] http://web.archive.org/web/20100819041054/http://www.askapache.com/php/phpfreaks-eric-rosebrocks-phpmailer-tutorial.html

[PHPMailer和Gmail] http://mediakey.dk/~cc/send-email-using-php-phpmailer-and-gmail/

不需要(也不是一个好方法)隐藏或掩盖任何东西。

答案 2 :(得分:2)

我假设您已经知道如何使用您正在谈论的课程。 你可能有一些发送电子邮件的变量,比如 var $From = "someguy@whatever.com"; 您可以在该电子邮件地址中键入任何内容。 Gmail不关心从哪里发送电子邮件。 不,这种声音非常合理。 还有一件事:Gmail需要一个Gmail帐户来转发邮件。没问题,它不可见。

答案 3 :(得分:0)

您想“将公司电子邮件地址显示为发件人”,但您“没有(原文如此)有任何电子邮件服务器”?

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

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

现在,如果您要发送电子邮件的人实际注册到您的邮件列表,那么您可以使用Constant Contact等第三方应用程序来进行广播。

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

答案 4 :(得分:0)

在邮件标题中,您可以同时拥有Sender:From:标题,在大多数邮件客户端中,该标题仅显示为From或在某些情况下显示为Sender代表From,使用这种方式是一种很好而且干净的方式,可以发送From一个不同的邮件地址,然后发送到实际的Sender邮件服务器

答案 5 :(得分:-3)

这是非常非法的。

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

是您尝试隐藏电子邮件地址的唯一选择。但无论你的电子邮件是什么,都会刻上IP。知道自己在做什么的人仍然可以将电子邮件追溯到源。