0

我正在使用共享托管计划,当我使用 PHP 发送电子邮件时,电子邮件客户端(如Gmail)将via在我的from字段中添加一点内容,其中包含我的主机域。

因此,而不是我的电子邮件仅来自我的域:

From: me@mydomain.com

它来自两个域:

From: me@mydomain.com via host13.myhost.com

显然,这会让接收电子邮件的人感到困惑,并且品牌形象不佳。由于我使用的是共享主机计划,我认为我无法访问 PHP 的配置设置或它用于邮件的任何内容。我是否可以对我的 PHP 电子邮件进行数字签名,或者这在共享主机上是不可能的?

这是我现在正在做的事情:

$header = "From: me@mydomain.com";
mail("you@yourdomain.com", "subject", "body", $header);
4

2 回答 2

1

你可以试试这个,你需要从这里下载 PHP Mailer 类,你的代码会是这样的:

 <?php
include "PHP MAILER CLASS";
    $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
    $mail->IsSMTP(); // telling the class to use SMTP
    try {
        //$mail->SMTPDebug  = 1;                     // enables SMTP debug information (for testing)
        $mail->SMTPAuth   = true;                  // enable SMTP authentication
        $mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
        $mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
        $mail->Port       = 465;                   // set the SMTP port for the GMAIL server
        $mail->Username   = "example@gmail.com";  // GMAIL username
        $mail->Password   = "password";            // GMAIL password
        $mail->AddAddress("Reciever Email", "Reciever Name");
        $mail->SetFrom('Sender Email', 'Sender Name');
        $mail->Subject = "Subject";
        $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
        $mail->MsgHTML("Message Body");
        $mail->Send();
    } catch (phpmailerException $e) {
        $e->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $e) {
        $e->getMessage(); //Boring error messages from anything else!
    }
    ?>
于 2013-03-12T03:59:10.840 回答
0

默认邮件功能取决于您的服务器设置,并且在收件人看来很少像普通邮件。您应该使用SwitfMailerpear MAIL库,它可以通过您自己的邮件服务器通过 SMTP 发送邮件。您可以使用您的普通电子邮件帐户或为您的网络服务设置一个新帐户。

于 2013-03-12T04:03:37.830 回答