通过SMTP发送电子邮件(域名问题)

时间:2014-03-19 10:02:46

标签: php email dns smtp

我正在尝试使用SMTP从网站上的脚本发送消息。虽然我的工作电子邮件没有收到,但我可以在我的个人电子邮件中成功阅读邮件。我认为它可能会反弹。

在Google管理面板中,我添加了test.domain.com作为domain.com的别名。

        $mail = new PHPMailer();

        $mail->IsSMTP();                                            // set mailer to use SMTP
        $mail->SMTPDebug = 2;

        $mail->From =   "smtp@test.domain.co.uk";
        $mail->FromName = "No-Reply @ Domain";

        $to = 'harry@test.domain.co.uk, personalEmail@gmail.com';
        $mail->AddAddress('harry@test.domain.co.uk');
        $mail->AddAddress('personalEmail@gmail.com');

        $mail->AddReplyTo($mail->From, $mail->FromName);

        $mail->WordWrap = 80;                   // set word wrap to 50 characters
        $mail->IsHTML(false);                   // set email format to HTML

        $mail->Subject = $subject[PAGE];
        $mail->Body    = $body;

        if ( $mail->Send() )
        {
            header('location: '.$_SERVER['REQUEST_URI'].'?sent1');
            exit;
        }
        else
        {
            $errors[] = 'Sorry, your message could not be sent, '.$mail->ErrorInfo;
        }

我为test.domain.com创建了一条MX记录,并在Google Admin中创建了一个SMTP中继服务,并允许每用户出站网关(允许用户在配置“时通过外部SMTP服务器发送邮件”来自“在您的电子邮件域外托管的地址”。

1 个答案:

答案 0 :(得分:0)

当我们设置PHP邮件程序时,我们需要在其中添加SMTP邮件服务器的凭据。在您的代码示例中,您跳过这些行并且必须发送电子邮件

mail->Host     = "smtp.yourmail.com";                      // Your SMTP   server
$mail->SMTPAuth = true;                                    // turn on SMTP authentication
$mail->SMTPSecure = 'tls'; //SMTP secure type like ssl/tls
$mail->Username = "dont.reply.m@yourmail.com";                  // SMTP username
$mail->Password = "password";                            // SMTP password
$mail->From     = "dont.reply.m@yourmail.com";              // SMTP username

初始化对象$ mail

后,请在顶部尝试使用正确的凭据