konadrian
konadrian

Reputation: 581

phpmailer change mail sender

When I send mail from phpmailer and I wanted to response I get response e-mail address like [email protected]. But I want change it to [email protected]. So I added:

$mail->AddReplyTo('[email protected]', 'First Last');

But in e-mails to response I get both (office and admin) and I want only [email protected] I changed it to:

$mail->Sender='[email protected]'; 
$mail->SetFrom('[email protected]','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

Upvotes: 0

Views: 8183

Answers (2)

Jesus
Jesus

Reputation: 437

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

 $mail->addReplyTo('[email protected]', 'Reply to name');
 $mail->setFrom('[email protected]', 'Mailbox name');     

With this order all is OK.

addReplyTo not AddReplyTo

Alternative: You can clear replyTo array before:

 $mail->ClearReplyTos();     
 $mail->addReplyTo([email protected], 'EXAMPLE');  

Upvotes: 2

Synchro
Synchro

Reputation: 37750

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.

Upvotes: 0

Related Questions