phpmailer change mail sender

故事扮演 提交于 2019-12-18 09:26:27

问题


When I send mail from phpmailer and I wanted to response I get response e-mail address like admin@domain.com. But I want change it to office@domain.com. So I added:

$mail->AddReplyTo('office@domain.com', 'First Last');

But in e-mails to response I get both (office and admin) and I want only office@domain.com I changed it to:

$mail->Sender='admin@domain.pl'; 
$mail->SetFrom('office@domain.pl','First Last');

I get

SMTP Error: Data not accepted.    
SMTP server error: 5.7.1 Forged sender address: 

My phpmailer version is: 5.2.6


回答1:


The reply to addresses needed to be added before the from address:

 $mail->addReplyTo('replyto@email.com', 'Reply to name');
 $mail->setFrom('mailbox@email.com', 'Mailbox name');     

With this order all is OK.

addReplyTo not AddReplyTo

Alternative: You can clear replyTo array before:

 $mail->ClearReplyTos();     
 $mail->addReplyTo(example@example.com, 'EXAMPLE');  



回答2:


Setting Sender is the correct approach to do this, so you're doing that right. The error you are seeing is probably down to SPF checks at the receiver - if the sender domain has SPF set up and it does not allow sending from your IP, it will reject it with the error you are seeing.



来源:https://stackoverflow.com/questions/27701411/phpmailer-change-mail-sender

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!