Php 发送电子邮件时smtp错误:发件人地址必须包含域

Php 发送电子邮件时smtp错误:发件人地址必须包含域,php,email,smtp,phpmailer,Php,Email,Smtp,Phpmailer,嗨,我在尝试发送电子邮件时遇到此错误 SMTP -> ERROR: MAIL not accepted from server: 501 : sender address must contain a domain 它过去很好用我不知道发生了什么 我使用php邮件,但我认为这并不重要 $smtp = setting::get_smtp( 1 , 'support'); $mail = new PHPMailer(); $mail->IsSMT

嗨,我在尝试发送电子邮件时遇到此错误

SMTP -> ERROR: MAIL not accepted from server: 501 : sender address must contain a domain 
它过去很好用我不知道发生了什么 我使用php邮件,但我认为这并不重要

   $smtp = setting::get_smtp( 1 , 'support');      

   $mail   = new PHPMailer(); 
   $mail->IsSMTP(); 
   $mail->Host       = $smtp->address;  //localhost
   $mail->CharSet    = "utf-8";                              
   $mail->SMTPAuth   = true;                 
   $mail->Port       = $smtp->port;    // 25                  
   $mail->Username   = $smtp->username; 
   $mail->Password   = $smtp->password;   
   $mail->From       =  $smtp->from ; // www.mysite.com
   $mail->AddReplyTo ($smtp->username , $smtp->from ); // noreply@mysite.com //www.mysite.com
   $mail->Subject    = $title;
   $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; 

       $mail->MsgHTML($msg);
       $mail->SMTPDebug = 1;
       if( filter_var( $admin_email , FILTER_VALIDATE_EMAIL ) == TRUE ){
       $mail->AddAddress($admin_email , "John Doe");
           $mail->Send();
       }

$mail->From是否应设置为电子邮件地址?

是否应将$mail->From设置为电子邮件地址?

错误消息有点误导,但问题很明显。
From:
标题必须包含一个域作为完整的电子邮件地址。如果您的
$smtp->from
包含
www.mysite.com
,则该电子邮件地址无效,缺少
@
之后的部分。邮递员将您的域名误解为电子邮件地址的第一部分(用户部分),并抱怨它需要
@domain
来配合。从属性向您的
$smtp->提供完整的发件人电子邮件地址

 // Should be something like sender@example.com
 $mail->From       =  $smtp->from ; 

错误消息有点误导,但问题很明显。
From:
标题必须包含一个域作为完整的电子邮件地址。如果您的
$smtp->from
包含
www.mysite.com
,则该电子邮件地址无效,缺少
@
之后的部分。邮递员将您的域名误解为电子邮件地址的第一部分(用户部分),并抱怨它需要
@domain
来配合。从
属性向您的
$smtp->提供完整的发件人电子邮件地址

 // Should be something like sender@example.com
 $mail->From       =  $smtp->from ; 

谢谢,就是这样,但是,我能清楚地记得它曾经使用过,有点奇怪anything@max实际传递消息的SMTP服务器可能对From头的内容要求更严格。报告的错误源于SMTP服务器,并由PHP转发给您。谢谢,就是这样,但我能清楚地记得它曾经使用过,这有点奇怪anything@max实际传递消息的SMTP服务器可能对From头的内容要求更严格。报告的错误源于SMTP服务器,并由PHP转发给您。