如何使phpmailer代码更简单,用于发送2封邮件


how to make phpmailer code more simple it use to send 2 mails

我有php代码,使用phpmailer向两个用户发送两条不同的消息。我已经重复了两次代码来发送这两封邮件,但这使得完成任务的过程需要很长时间。有什么解决方案可以让我的代码更简单吗

////--------------------发送电子邮件。致学生顾问----------------------------------------------------------require("phpmailer/class.phpmailer.php");$mail=新PHPMailer();

$mail->Username = "rms@gmail.com"; 
$mail->Password = "12121212"; 
$mail->AddAddress($advisoremail);
$mail->FromName = "RMS-NCT";
$mail->Subject = "New Request from: ".$_SESSION['UID'];
$mail->Body    = "Dear Mr. Adviser you have got new request from 26s12115 ... click here to access it. http://localhost/rms/"; 
//-----------------------------------------------------------------------
$mail->Host = "ssl://smtp.gmail.com"; 
$mail->Port = 465;
$mail->IsSMTP(); 
$mail->SMTPAuth = true;
$mail->From = $mail->Username;
if(!$mail->Send())
    echo "Mailer Error: " . $mail->ErrorInfo;
else
    echo "Message has been sent";

//---------------向学生发送电子邮件------------------

$mail = new PHPMailer();
$mail->Username = "rms@gmail.com"; // your GMail user name
$mail->Password = "12121212"; 
$mail->AddAddress($_SESSION['UEMAIL']);
$mail->FromName = "RMS-NCT";
$mail->Subject = "Receipt for your new Request";
$mail->Body    = "Dear Student .. Your request has been sent.. you will get response as soon as possible."; 
//-----------------------------------------------------------------------
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465;
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->From = $mail->Username;
if(!$mail->Send())
    echo "Mailer Error: " . $mail->ErrorInfo;
else
    echo "Message has been sent";   

只要你有两个不同的主体和身体,我就会说不。没有办法简化这个任务。但是,您可以将任务放在一个函数中,该函数将获得不同的参数。所以你只需要调用一个函数。

require("phpmailer/class.phpmailer.php"); 
function send_mail($email, $subject, $body) {
    $mail = new PHPMailer();
    $mail->Username = "rms@gmail.com"; 
    $mail->Password = "12121212"; 
    $mail->AddAddress($email);
    $mail->FromName = "RMS-NCT";
    $mail->Subject = $subject;
    $mail->Body    = $body; 
    //-----------------------------------------------------------------------
    $mail->Host = "ssl://smtp.gmail.com"; 
    $mail->Port = 465;
    $mail->IsSMTP(); 
    $mail->SMTPAuth = true;
    $mail->From = $mail->Username;
    if(!$mail->Send())
        echo "Mailer Error: " . $mail->ErrorInfo;
    else
        echo "Message has been sent";
}
require("phpmailer/class.phpmailer.php");
function sendMail($to = "trash@domain.com", $subject = "", $body = "", $from = "RMS-NCT")
{
     $mail = new PHPMailer();
     $mail->Host = "ssl://smtp.gmail.com";
     $mail->Port = 465;
     $mail->IsSMTP();
     $mail->SMTPAuth = true;
     $mail->Username = "rms@gmail.com";
     $mail->Password = "12121212";
     $mail->From = $mail->Username;
     $mail->FromName = $from;
     $mail->AddAddress($to);
     $mail->Subject = $subject;
     $mail->Body = $body;
     if(!$mail->Send()) {
          return false;
     }
     return true;
}

在代码中,smth如下:

$Address = $advisoremail;
$Subject = "New Request from: " . $_SESSION['UID'];
$Body = "Dear Mr. Adviser ...";
if (sendMail($Address, $Subject, $Body)) {
    echo "Message has been sent";
} else {
    echo "Mailer Error: " . $mail->ErrorInfo;
}