我正在尝试使用Swiftmailer发送邮件。我有以下代码,我发送邮件:
if(isset($_POST['submit'])) {
$token = substr(sha1(mt_rand()),0,22);
$resetAccount = "UPDATE members
SET token='".$token."',
token_expire='".date("Y-m-d H:i:s", strtotime('+1 hours'))."'
WHERE username='".$_POST['username']."'
AND email='".$_POST['email']."'";
$exec = $db->query($resetAccount);
if($exec->rowCount()) {
$transport = Swift_MailTransport::newInstance();
$mailer = Swift_Mailer::newInstance($transport);
$recoverylink = "<a href='http://www.".$_SERVER['SERVER_NAME']."/admin/recover.php?token=".$token."'>wachtwoordherstel voor ".$_POST['username']."</a>";
$mailbody = 'Beste '.$_POST['username'].',<br><br>U heef een token voor wachtwoordherstel aangevraagd. Het komend uur kunt u uw wachtwoord veranderen via deze link: '.$recoverylink;
$message = Swift_Message::newInstance()
->setSubject("Wachtwoordherstel voor ".$_POST['username'])
->setFrom(array('cms@'.$_SERVER['SERVER_NAME'] => "Q Sites CMS"))
->setTo(array($_POST['email'] => $_POST['username']))
->setBody($mailbody, 'text/html')
;
$result = $mailer->send($message);
echo "<div class='alert'>Een e-mail met instructies is verzonden naar ".$_POST['email'].".</div>";
}
else {
echo "<div class='alert'>Uw account is niet gevonden.</div>";
}
}
代码获取超过if($exec->rowCount()) {
,因此回显echo "<div class='alert'>Een e-mail met instructies is verzonden naar ".$_POST['email'].".</div>";
但邮件未发送。我做错了什么?
使用输入的表单:
<form id="login-form" method="post" class="form">
<input type="text" name="username" placeholder="Gebruikersnaam" required >
<input type="email" name="email" placeholder="E-mail" class="email" required >
<input type="submit" name="submit" value="Herstel">
</form>