Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
968 views
in Technique[技术] by (71.8m points)

php - phpmailer change mail sender

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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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');  

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...