我正在处理表单:提交表单后,我需要使用Gmail帐户发送邮件。我已经设置了SwiftMailer,似乎所有东西都设置正确,但没有任何反应。 我已将表单的“动作”设置为此php文件:
<?php
require_once '/assets/swift-mailer/lib/swift_required.php';
// variables
$visitor_email = $_POST['email'];
$visitor_phone = $_POST['phone'];
$visitor_page = $_POST['site'];
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
->setUsername('mail@gmail.com')
->setPassword('mypassword');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('New submission')
->setFrom('mail@gmail.com')
->setTo('myothermail@domain.com')
->setBody("New submission from this site: \n
$visitor_page \n
e-mail address: $visitor_email \n
phone number: $visitor_phone");
$result = $mailer->send($message);
?>
我已经仔细检查了PHP的版本,它在服务器中没问题。 Php_openssl已启用。 服务器正常运行。 html文件中的表单没问题,它有“method = post”关联。库已正确放置在服务器文件夹中。我真的不明白什么是错的。
答案 0 :(得分:2)
也许有很多理由不发送邮件...你想检查apache error_log和浏览器网络..或者你可以在你的脚本中设置error_reporting(E_ALL)。也许是谷歌smtp问题或其他。首先你必须做你的问题澄清之后,你可以做任何事情。如果你上传你的错误,那么任何人都可以帮助你。
你可以尝试这个,但我不确定它对你有用吗</ p>
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls');
而不是
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl");