PHPMailer中的$ mail-> send()返回true但我没有收到邮件

时间:2017-05-31 03:49:32

标签: php phpmailer

我正在使用PHPMailer从我的网站发送电子邮件,但$mail->send()返回true且邮件未发送。我的错误日志中没有报告错误。我在Bigrock托管了我的网站。我的代码中没有发现任何错误。

<?php
if(isset($_POST['submit']))
{
    require 'class.smtp.php';
    require 'PHPMailerAutoload.php';
    ini_set('SMTP','localhost' ); 
    ini_set('sendmail_from', 'exmaple@gmail.com');
    $fromrec=$_POST['from'];
    $from="example@gmail.com";
    $subject=$_POST['sf'];
    $message=$_POST['message'];
    $mail = new PHPMailer;
    $mail->IsSMTP();
    $mail->Host = "localhost";
    $mail->setFrom($from, 'Rahul');
    $mail->addAddress("example1@gmail.com");
    $mail->Subject  = $subject;
    $mail->Body     = "From:".$fromrec."".$message;
    if(!$mail->send()) {
        echo 'Message was not sent.';
        echo 'Mailer error: ' . $mail->ErrorInfo;
    } else if($mail->send()) {
        echo 'Message has been sent.';
        echo  $mail->ErrorInfo;
    }
    else
    {
        echo 'Mailer error: ' . $mail->ErrorInfo;
    }
}
?>

1 个答案:

答案 0 :(得分:0)

在这个问题上,我咨询了Bigrock的客户服务,并与他们聊了聊。在上面的代码中很简单,来自地址的电子邮件ID必须是特定于域的,并且地址可以是任何东西。将电子邮件ID更改为特定于域并将主机更改为mail.example.com。我的问题已经解决了。如果有人遇到同样的问题,请试试。