我为我网站的一封电子邮件设置了谷歌应用程序,因此在从网络上做事时,使网站的内置电子邮件路由变得无用。我需要做的是让它使用 ssl/smtp 连接到谷歌应用程序设置。为此,我使用了 PEAR Mail 和 mime(用于 HTML 内容)。消息发送没有问题......我遇到的唯一问题是“发件人”标头没有在传输过程中保存。相反,帐户电子邮件位于“发件人”标题中。
这些帐户存在于网络服务器端(这意味着没有任何意义,因为它全部通过谷歌),并且我在我的 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>");
}
}