【问题标题】:php pear mail not modifying 'from' when using google apps gmail使用谷歌应用程序gmail时php梨邮件不修改“发件人”
【发布时间】:2014-07-11 14:45:43
【问题描述】:

我为我网站的一封电子邮件设置了谷歌应用程序,因此在从网络上做事时,网站的内置电子邮件路由变得毫无用处。我需要做的是让它使用 ssl/smtp 连接到谷歌应用程序设置。 为此,我使用了 PEAR Mail 和 mime(用于 HTML 内容)。 消息发送没有问题......我遇到的唯一问题是“发件人”标头没有在传输过程中保存。相反,帐户电子邮件位于“发件人”标头中。

这些帐户存在于网络服务器端(这意味着没有任何意义,因为它全部通过 google),并且我已经在我的 gmail 应用程序管理端添加了别名。但无论我做什么,它都不会改变“来自”。

这只是我在使用谷歌应用程序的 gmail 的单个帐户时会遇到的问题吗? (--从帐户名中强制“来自”?)

谢谢

--对于那些想知道的人,这里有一个邮件发送的示例函数:

function pearMail($from, $fromTitle, $to, $subject, $text, $html)
{
require_once "Mail.php";
require_once('Mail/mime.php');

$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "name@domain.com";
$password = "PASSWORD";

$headers = array ('From' => $from,
    'Return-Path' => '-do not reply-',
'To' => $to,
'Subject' => $subject);     
$crlf = "\n";
// Creating the Mime message
    $mime = new Mail_mime($crlf);
// Setting the body of the email
    $mime->setTXTBody($text);
    $mime->setHTMLBody($html);

    $body = $mime->get();
    $headers = $mime->headers($headers,true);
// Sending the email
    $mail =& Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail->send($to, $headers, $body);

if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
}

【问题讨论】:

    标签: php smtp gmail pear pear-mail


    【解决方案1】:

    请参阅google help 更改From:

    只有当您已经拥有链接到备用地址的帐户时,自定义“发件人:”功能才有效。要使用不同的 Gmail 用户名发送邮件,您必须先注册该地址。

    【讨论】:

      猜你喜欢
      • 2016-11-06
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      相关资源
      最近更新 更多