Правильный способ sendmail () с phpmailer, используя соединение с БД - PullRequest
0 голосов
/ 07 января 2012

Я пытаюсь изменить почтовую программу phpmailer db для использования sendmail, будет ли этот код правильным?Я пытаюсь внедрить его в веб-сайт, чтобы отправить клиенту по электронной почте около 2-300 контактов.Спасибо: -)

<?php
require_once('./send/class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php     if not already loaded

$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it     will throw exceptions on errors, which we need to catch

 $body                = file_get_contents('contents.html');
 $body                = eregi_replace("[\]",'',$body);


$mail->SetFrom('list@mydomain.com', 'List manager');
$mail->AddReplyTo('list@mydomain.com', 'List manager');

$mail->Subject       = "PHPMailer Test Subject via smtp, basic with authentication";

 $query  = "SELECT full_name, email, photo FROM employee WHERE id=$id";
$result = @MYSQL_QUERY($query);

while ($row = mysql_fetch_array ($result)) {
  $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";     // optional, comment out and test
  $mail->MsgHTML($body);
  $mail->AddAddress($row["email"], $row["full_name"]);
  $mail->AddStringAttachment($row["photo"], "YourPhoto.jpg");

  if(!$mail->Send()) {
    echo "Mailer Error (" . str_replace("@", "&#64;", $row["email"]) . ') ' .         $mail->ErrorInfo . '<br>';
  } else {
    echo "Message sent to :" . $row["full_name"] . ' (' . str_replace("@", "&#64;",     $row["email"]) . ')<br>';
}
// Clear all addresses and attachments for next loop
$mail->ClearAddresses();
$mail->ClearAttachments();
}
?>    

1 Ответ

1 голос
/ 07 января 2012

Это должно работать, но убедитесь, что эта функция поддерживается хостинговой компанией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...