简体   繁体   中英

Google App-Gmail Unable to set from. Gmail replacing from address when sending via swiftmailer SMTP transport (PHP)

Hello and thank you for any help in advance.

I'm using swiftmailer, SMTP transport method to send email from my PHP script.

Sending the message is fine. It works.

The problem is, no matter what I set the FROM,REPLYTO,SENDER settings to, The email comes through as the GMAIL mailbox (ME - me@mydomain.com) instead.

$transport = Swift_SmtpTransport::newInstance('imap.gmail.com', 465,'ssl')
    ->setUsername($login)
    ->setPassword($password)
    ;
$message = Swift_Message::newInstance($subject)
    ->setFrom(array('test@testdomain.com' => 'test mcttest'))
    ->setReplyTo(array('test@testdomain.com' => 'test mcttest'))
    ->setSender('test@testdomain.com')
    ->setTo(array($to))
    ->setBody(wordwrap($body, 70))
    ->setContentType('text/plain')
    ;

So the email goes through fine, but instead of being from TEST-test@testdomain.com as the sender... it's ME-me@mydomain.com

I switch to a separate (non-gmail) SMTP server to test and the email went through fine, without any problems... definitely think it's a GMAIL thing.

Anyone know how to get around this?

Yes, it is Gmail that changes the sender e-mail address to be the same of the account you are authenticating. There is no workaround for that, except maybe becoming a paid customer of Google Apps.

Funnily enough I've come across the same issue. But as a bit of an insight, I think this is actually a Swiftmailer issue.

There are other libraries and frameworks (Codeignitor pops in my head) that will let you use Googlemails SMTP servers while masking the from address as an email address of your choosing.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM