我有 function.php :
<?php
require_once '..\vendor\autoload.php';
function format_email($info, $format)
{
//grab the template content
$template = file_get_contents('../signup_template.' . $format);
//replace all the tags
$template = preg_replace('{USERNAME}', $info['username'], $template);
$template = preg_replace('{EMAIL}', $info['email'], $template);
$template = preg_replace('{KEY}', $info['key'], $template);
$template = preg_replace('{SITEPATH}', 'http://site-path.com', $template);
//return the html of the template
return $template;
}
//send the welcome letter
function send_email($info)
{
//format each email
$body = format_email($info, 'html');
$body_plain_txt = format_email($info, 'txt');
//setup the mailer
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername('xxxxxx@gmail.com')
->setPassword('xxxxxx');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance();
$message->setSubject('Welcome to TravelNow');
$message->setFrom(array('xxxxxx@gmail.com' => 'TravelNow'));
$message->setTo(array($info['email'] => $info['username']));
$message->setBody($body_plain_txt);
$message->addPart($body, 'text/html');
$result = $mailer->send($message);
return $result;
}
在另一个php文件中,我使用 send_email 函数:
$info = array(
'username' => $username,
'email' => $email,
'key' => $key);
//send the email
if (send_email($info)){...}
但后来我收到了这个错误:
我已经开启&#34;允许安全性较低的应用&#34;在我的Google帐户中,但它不是错误代码&#34; 535&#34;,所以我不认为Google安全检查是问题所在。
有什么方法可以解决这个问题吗?如果我换到其他SMTP服务,我真的不得不坚持使用Google吗? (实施例?)
// 已解决:
在 php.ini 中搜索; extension = php_openssl.dll 并删除semisecolon