【问题标题】:Changing the `from` address when sending an email through GMail通过 GMail 发送电子邮件时更改“发件人”地址
【发布时间】:2011-07-21 05:10:27
【问题描述】:

我正在尝试在一个项目中使用 PHP Pear Factory 通过 GMail 发送电子邮件。它已经成功了,但是有些东西不能 100% 正常工作。

我不知道为什么如果我设置$headers['From'] = 'from@domain.com',当我收到电子邮件时,发件人是用户名@gmail.com。

在代码下方找到:

$recipients = 'to@domain.com';

$headers['From']    = 'from@domain.com';
$headers['To']      = 'to@domain.com';
$headers['Subject'] = 'Test message';

$body = 'Test message';

$params["host"] = 'ssl://smtp.gmail.com';
$params["port"] = 465;
$params["auth"] = true;
$params["username"] = 'username@gmail.com';
$params["password"] = 'password';


// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory('smtp', $params);

$send = $mail_object->send($recipients, $headers, $body);

if(PEAR::isError($send)) { print($send->getMessage()); }

【问题讨论】:

    标签: php email smtp gmail pear


    【解决方案1】:

    根据我自己的经验,GMail 只允许 FROM 标头是您自己的 GMail 帐户/地址。当我试图让它使用与此不同的地址时,我无法发送电子邮件。

    【讨论】:

    • 您对 Google 不是 open relay 感到惊讶吗?这不是 1990 年。
    • 不惊讶,只是回答了问题
    • 我觉得你很惊讶。
    【解决方案2】:

    您只需在 Gmail 中授权发件人地址即可。

    通过您的 Gmail 收件箱执行此操作:

    1. 点击齿轮图标并选择设置
    2. Accounts and Imports标签上,点击添加您拥有的另一个电子邮件地址链接。
    3. 输入您的信息并选择下一步
    4. 选择通过 Gmail 发送(更易于设置),然后选择下一步
    5. 点击发送验证
    6. 点击您添加的电子邮件中的链接。
    7. 从该地址发送邮件!

    【讨论】:

      猜你喜欢
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多