使用 Gmail SMTP 的 Swift Mailer 未发送电子邮件
Email not being sent with Swift Mailer using Gmail SMTP
我正在尝试使用 Gmail SMTP 从 Swift Mailer 发送电子邮件。它可以方便地发送电子邮件一段时间,但随后会完全停止发送,尤其是当我在大约一天后恢复工作时。它显示以下错误:
无法与主机建立连接smtp.gmail.com[#0]
下面是我用来发送电子邮件的示例代码:
<?php
require_once 'lib/swift_required.php';
try
{
echo '<pre>';
//Generating the Email Content
$message = Swift_Message::newInstance()
->setFrom(array('myemail@gmail.com' => 'No Reply'))
->setTo(array('recipient@gmail.com' => 'Recipient'))
->setSubject('Test Email')
->setBody("This is a Test Email to check SwiftMailer.");
// Create the Mail Transport Configuration
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername('myemail@gmail.com')
->setPassword('appPassword');
//local domain sending
$transport->setLocalDomain('[127.0.0.1]');
$mailer = Swift_Mailer::newInstance($transport);
//Send the email
$sentFlag = $mailer->send($message);
}
catch (Exception $e)
{
echo $e->getMessage();
}
?>
我正在使用应用程序密码,并且在我的 Google 帐户设置中启用了两步验证。一段时间以来,我一直在寻找这个问题的解决方案,并且我已经浏览了许多其他相关帖子,但没有找到解决方案。有人请提出永久解决方案。
提前致谢。
如何使用 Swift Mailer 使用 Gmail SMTP
像这样尝试此代码:
<?php
require_once 'lib/swift_required.php';
try
{
echo '<pre>';
//Generating the Email Content
$message = Swift_Message::newInstance()
->setFrom(array('myemail@gmail.com' => 'No Reply'))
->setTo(array('recipient@gmail.com' => 'Recipient'))
->setSubject('Test Email')
->setBody("This is a Test Email to check SwiftMailer.");
// Create the Mail Transport Configuration
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls')
->setUsername('myemail@gmail.com')
->setPassword('appPassword')
->setStreamOptions(array(
'ssl' => array(
'allow_self_signed' => true,
'verify_peer' => false)));
//local domain sending
$transport->setLocalDomain('[127.0.0.1]');
$mailer = Swift_Mailer::newInstance($transport);
//Send the email
$sentFlag = $mailer->send($message);
}
catch (Exception $e)
{
echo $e->getMessage();
}
?>
希望对您有所帮助
我正在尝试使用 Gmail SMTP 从 Swift Mailer 发送电子邮件。它可以方便地发送电子邮件一段时间,但随后会完全停止发送,尤其是当我在大约一天后恢复工作时。它显示以下错误:
无法与主机建立连接smtp.gmail.com[#0]
下面是我用来发送电子邮件的示例代码:
<?php
require_once 'lib/swift_required.php';
try
{
echo '<pre>';
//Generating the Email Content
$message = Swift_Message::newInstance()
->setFrom(array('myemail@gmail.com' => 'No Reply'))
->setTo(array('recipient@gmail.com' => 'Recipient'))
->setSubject('Test Email')
->setBody("This is a Test Email to check SwiftMailer.");
// Create the Mail Transport Configuration
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername('myemail@gmail.com')
->setPassword('appPassword');
//local domain sending
$transport->setLocalDomain('[127.0.0.1]');
$mailer = Swift_Mailer::newInstance($transport);
//Send the email
$sentFlag = $mailer->send($message);
}
catch (Exception $e)
{
echo $e->getMessage();
}
?>
我正在使用应用程序密码,并且在我的 Google 帐户设置中启用了两步验证。一段时间以来,我一直在寻找这个问题的解决方案,并且我已经浏览了许多其他相关帖子,但没有找到解决方案。有人请提出永久解决方案。
提前致谢。
如何使用 Swift Mailer 使用 Gmail SMTP
像这样尝试此代码:
<?php
require_once 'lib/swift_required.php';
try
{
echo '<pre>';
//Generating the Email Content
$message = Swift_Message::newInstance()
->setFrom(array('myemail@gmail.com' => 'No Reply'))
->setTo(array('recipient@gmail.com' => 'Recipient'))
->setSubject('Test Email')
->setBody("This is a Test Email to check SwiftMailer.");
// Create the Mail Transport Configuration
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls')
->setUsername('myemail@gmail.com')
->setPassword('appPassword')
->setStreamOptions(array(
'ssl' => array(
'allow_self_signed' => true,
'verify_peer' => false)));
//local domain sending
$transport->setLocalDomain('[127.0.0.1]');
$mailer = Swift_Mailer::newInstance($transport);
//Send the email
$sentFlag = $mailer->send($message);
}
catch (Exception $e)
{
echo $e->getMessage();
}
?>
希望对您有所帮助