xampp localhost中的Swiftmailer不发送电子邮件(已经做了很多研究)

So I have spent days on trying to send e-mails using swiftmailer by php and I am using localhost xampp server v3.2.1, which the PHP version is 5.4.31 and my swiftmailer is I believe v5.3

Here is the PHP file :

require_once 'lib/swift_required.php';
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com',465,'ssl')
->setUsername('username@gmail.com')
->setPassword('password');

$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance('Wonderful Subject')
->setFrom(array('username@gmail.com'))
->setTo(array('recipient@gmail.com'))
->setBody('Hello World')
;

$result = $mailer->send($message);
if (!$mailer->send($message,$failures)) {
  echo "Failures:";
  print_r($failures);
} else {
  echo "sent";
}

The page just returned blank and there are no e-mail sent or received.Please tell if there is anything I should configure before getting this to work or am I missing an important line of code or something.

Thank you in advance.

I keep trying and once I got an input in my error log which is :

[15-Oct-2014 16:33:49 Europe/Berlin] PHP Fatal error:  Uncaught exception 'Swift_TransportException' with message 'Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at

535 5.7.8 http://support.google.com/mail/bin/answer.py?answer=14257 fn2sm17247597pdb.75 - gsmtp

"' in C:\xampp\htdocs\1\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php:386
Stack trace:
#0 C:\xampp\htdocs\1\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php(281): Swift_Transport_AbstractSmtpTransport->_assertResponseCode('535-5.7.8 Usern...', Array)
#1 C:\xampp\htdocs\1\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\EsmtpTransport.php(245): Swift_Transport_AbstractSmtpTransport->executeCommand('RSET
', Array, Array)
#2 C:\xampp\htdocs\1\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\Esmtp\Auth\XOAuth2Authenticator.php(56): Swift_Transport_EsmtpTransport->executeCommand('RSET
', Array)
#3 C:\xampp\htdocs\1\vendor\swiftmailer\swiftma in C:\xampp\htdocs\1\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php on line 386
dongwupu5991
dongwupu5991 结果我认为gmail阻止了访问,我不得不禁用安全设置才能工作..但我发送的所有电子邮件都转到垃圾邮件/垃圾文件夹,你碰巧知道诀窍让它不去垃圾/垃圾邮件?非常感谢你,非常感谢你的帮助..
大约 6 年之前 回复
dongwuxie7976
dongwuxie7976 如错误所述,您的登录凭据不正确。检查您的登录名和密码。
大约 6 年之前 回复
duai3681
duai3681 这是整个php文件。我一直在尝试,不知怎的,我在错误日志中得到了一个输入,我在上面的问题中编辑过..
大约 6 年之前 回复
dplht39359
dplht39359 您的php文件根本不运行,或者您在文件中的其他位置有错误。你能提供整个文件吗?
大约 6 年之前 回复
doutizha7526
doutizha7526 好的,所以我发现它在c:/xampp/php/logs/php_error_log里面,我用记事本打开它,试图打开php文件再次发送电子邮件,并且日志里面没有输入,(试过用其他工作的php文件,在日志中添加了一条记录)。刷新电子邮件php文件,日志中仍然没有其他记录,所以我做错了请指导我。
大约 6 年之前 回复
dougu4704
dougu4704 检查你的php.ini的XAMPP配置,其中包含一行error_log=<path>。您可以在那里找到错误日志。
大约 6 年之前 回复
duanqinqiao4844
duanqinqiao4844 对不起,我不知道在哪里可以找到错误信息的日志文件,Swiftmailer的新内容,你能指导一下dir路径吗?
大约 6 年之前 回复
douliao8402
douliao8402 由于没有执行任何回声,我假设您在日志文件中收到错误消息。请提供该错误。
大约 6 年之前 回复

3个回答



它最终设法发送电子邮件,我要做的是更改我的Gmail帐户中的安全设置并禁用安全保护 现在它完美地发送电子邮件</ p>
</ div>

展开原文

原文

It finally managed to send e-mails, what I had to do is change the security setting in my gmail account and disabled the security protection and now it sends e-mail perfectly



“535-5.7.8不接受用户名和密码。” 表示不允许第三方访问您的帐户。 您需要通过以下方式授予他们访问第三方的权限:</ p>

https ://myaccount.google.com/ </ p>

在“登录”下,找到“允许较少安全的应用访问”这一短语并将其更改为“允许”。</ p> \ n </ div>

展开原文

原文

"535-5.7.8 Username and Password not accepted." means that third parties are not allowed access to your account. You need to grant them access to 3rd parties by uppdating your google account at:

https://myaccount.google.com/

Under "login" find the phrase "allow less secure apps access" and change this to "ALLOW.



尝试像这样设置传输器:</ p>

  $ transport = Swift_SmtpTransport ::  newInstance('ssl://smtp.gmail.com',465); 
</ code> </ pre>

您还可以检查异常:</ p>

< pre> try {
$ mailer = Swift_Mailer :: newInstance($ transport);
} catch(Swift_TransportException $ exception){
var_dump($ exception);
}
</ code> </ pre>
</ div>

展开原文

原文

Try to set your transporter like this:

$transport = Swift_SmtpTransport::newInstance('ssl://smtp.gmail.com', 465);

You can also check for exceptions:

try {
    $mailer = Swift_Mailer::newInstance($transport);
} catch(Swift_TransportException $exception) {
    var_dump($exception);
}

dshp9580656
dshp9580656 不,仍然不发送或接收电子邮件,我想我配置我的Gmail帐户设置或其他东西工作?
大约 6 年之前 回复
立即提问
相关内容推荐