通过GMail发送电子邮件时更改`from`地址

时间:2011-03-23 10:47:27

标签: php email smtp gmail pear

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

我不知道为什么如果我设置$headers['From'] = 'from@domain.com',当我收到电子邮件时,From是username@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()); }

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

您只需要在Gmail中授权来自地址。

要从Gmail收件箱中执行此操作:

  1. 点击齿轮图标,然后选择设置
  2. 帐户和导入标签上,点击添加您拥有的其他电子邮件地址链接。
  3. 输入您的信息,然后选择下一步
  4. 选择通过Gmail发送(更容易设置),然后选择下一步
  5. 点击发送验证
  6. 点击您添加的电子邮件中的链接。
  7. 从地址发送邮件!