我在发送带有邮件列表的电子邮件时遇到问题,这就是我现在所拥有的,并且没有发送电子邮件
public function mailingList($email, $nome, $message){
$destinatário = $this->getAllEmails();
$mail = new PHPMailer;
$mail->isSendmail();
$mail->setFrom('XXXX@xxxxx.xxx.xxx', 'Webmaster');
$mail->IsHTML(true);
$mail->Subject = 'Informação - XXXX';
$mail->CharSet = 'UTF-8';
$mail->Body = "
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
</head>
<body>
<h1>Mensagem da Administração</h1>
<table>
<tbody>
<tr>
<td><strong>Mensagem:</strong></td>
</tr>
<tr>
<td>$message</td>
</tr>
</tbody>
</table>
<p> </p>
<p> </p>
<p>Equipa xxxxx.</p>
<p> </p>
<p>Obrigado</p>
</body>
</html>";
$mail->addAttachment('../img/logo_pek.gif');
foreach ($destinatário as $dest) {
$correio = $dest['email'];
if($correio != ''){
$mail->ClearAddresses();
$mail->addAddress($correio, 'Informação - XXXX');
}
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
return array('status' => 'error', 'message' => 'O email não foi enviado...');
}
else{
echo "Ok";
return array('status' => 'success', 'message' => 'O email foi enviado com sucesso...');
}
}
}
当我在循环中使用var_dump($ correio)时,我收到了所有电子邮件,所以我不明白为什么电子邮件没有被发送。 有什么帮助吗?
答案 0 :(得分:1)
你的循环中有一个简单的错误:
foreach ($destinatário as $dest) {
$correio = $dest['email'];
if($correio != ''){
$mail->ClearAddresses();
$mail->addAddress($correio, 'Informação - XXXX');
}
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
return array('status' => 'error', 'message' => 'O email não foi enviado...');
}
else{
echo "Ok";
return array('status' => 'success', 'message' => 'O email foi enviado com sucesso...');
}
}
这些return
标题中的任何一个都将完全退出该函数,因此它永远不会超出第一条消息,您需要跟踪每个发送结果,而不仅仅是其中一个。我认为你的意思是这样的:
$results = [];
foreach ($destinatário as $dest) {
$correio = $dest['email'];
if($correio != ''){
$mail->ClearAddresses();
$mail->addAddress($correio, 'Informação - XXXX');
}
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
$results[$correio] = array('status' => 'error', 'message' => 'O email não foi enviado...');
}
else{
echo "Ok";
$results[$correio] = array('status' => 'success', 'message' => 'O email foi enviado com sucesso...');
}
}
return $results;
答案 1 :(得分:-1)
请使用此示例并测试
<ul ng-repeat="item in items">
<li>
<label>
<input type="radio" ng-value="item.text"/>{{item.text}}
</label>
</li>
</ul>