Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌应用程序Gmail无法从设置。通过swiftmailer SMTP传输(PHP)发送时,Gmail从地址替换_Php_Smtp_Gmail_Swiftmailer - Fatal编程技术网

谷歌应用程序Gmail无法从设置。通过swiftmailer SMTP传输(PHP)发送时,Gmail从地址替换

谷歌应用程序Gmail无法从设置。通过swiftmailer SMTP传输(PHP)发送时,Gmail从地址替换,php,smtp,gmail,swiftmailer,Php,Smtp,Gmail,Swiftmailer,您好,谢谢您提前提供的帮助 我正在使用swiftmailer,SMTP传输方法从我的PHP脚本发送电子邮件 发送消息很好。它起作用了 问题是,无论我将FROM、REPLYTO、SENDER设置设置为什么,电子邮件都会作为GMAIL邮箱(我-me@mydomain.com)相反 因此,电子邮件可以正常通过,但不是来自测试-test@testdomain.com作为发件人。。。是我-me@mydomain.com 我切换到一个单独的(非gmail)SMTP服务器进行测试,邮件顺利通过,没有任何问题。

您好,谢谢您提前提供的帮助

我正在使用swiftmailer,SMTP传输方法从我的PHP脚本发送电子邮件

发送消息很好。它起作用了

问题是,无论我将FROM、REPLYTO、SENDER设置设置为什么,电子邮件都会作为GMAIL邮箱(我-me@mydomain.com)相反

因此,电子邮件可以正常通过,但不是来自测试-test@testdomain.com作为发件人。。。是我-me@mydomain.com

我切换到一个单独的(非gmail)SMTP服务器进行测试,邮件顺利通过,没有任何问题。。。肯定认为这是GMAIL的事


有人知道如何解决这个问题吗?

是的,是Gmail将发件人电子邮件地址更改为与您正在验证的帐户相同的地址。除了可能成为谷歌应用程序的付费客户之外,没有其他解决办法。

有趣的是,我也遇到了同样的问题。但作为一种见解,我认为这实际上是一个快捷问题


还有其他库和框架(我脑海中的Codeignitor pops)可以让你使用谷歌邮件SMTP服务器,同时将发件人地址屏蔽为你选择的电子邮件地址。

我们使用付费谷歌应用程序,也可以得到同样的东西。我目前正在设置我自己的SMTP服务器,所以我用我们的GMail帐户做VERP。但是我想我需要为我的DNS配置正确的SPF记录,这样我就可以从smtp.gmail.com和smtp服务器发送邮件。你确定吗?我认为这是谷歌的事情,如果你通过smtp.gmail.com,它会“清理”所有来自/返回的信息。对于完全不同的地址,我可以理解这一点(帐户是me@gmail.com而你正试图发送you@gmail.com),但对于plus地址(我)+alternate@gmail.com)或谷歌应用程序域(me@mydomain.com帐户使用you@mydomain.com对于返回),它应该是允许的。
$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')
    ;