簡體   English   中英

使用PHP發送電子郵件收件人

[英]sending email recipient using PHP

我不擅長PHP所以需要一些幫助。我有一個帶有復選框的php頁面,我試圖向多個收件人發送郵件。 我可以發送郵件,但沒有什么問題。 當我選擇例如。 3復選框發送電子郵件然后第一個電子郵件收件人是好的,但第二個電子郵件與第一和第二個收件人和第三個電子郵件第1,第2,第三個收件人 我猜有'foreach'的問題。 有人請幫我用我的MySQL查詢向個別收件人發送個人電子郵件。

這是我的mail.php頁面的代碼

<?php
require_once('auth.php');


<html>
<head>
<title>PHPMailer - SMTP basic test with authentication</title>
</head>
<body>


include("Connections/connection.php");
//error_reporting(E_ALL);
error_reporting(E_STRICT);

date_default_timezone_set('Europe/Dublin');

require_once('php_mailer/class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from withinclass.phpmailer.php   if not already loaded

$mail = new PHPMailer();


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

$sender_name        =   $_SESSION['sender_name'];
$sender_email       =   $_SESSION['sender_email'];
$sender_password    =   $_SESSION['sender_password'];


$id_user    =   $_POST["id_user"];

foreach ($id_tariff as $idt)
{
$query = sprintf("SELECT From_Date, To_Date, first, last, city, country, Email_1, Email_2, account_name FROM user_info where id_user = $id_user");
$result = mysql_query($query) or die(mysql_error());


$body = "
<table width='100%' border='1' cellspacing='0' cellpadding='3' bordercolor='#ffcccc'>
<tr>
<th bgcolor='#cc3333'>From</th>
<th bgcolor='#cc3333'>To</th>
<th bgcolor='#cc3333'>First Name</th>
<th bgcolor='#cc3333'>Last Name</th>
<th bgcolor='#cc3333'>City</th>

<th bgcolor='#cc3333'>country</th>

</tr>


";


while($row = mysql_fetch_array($result)){
$body .="<tr>";
$body .="<td>".$row['From_Date']."</td>";
$body .="<td bgcolor='#FFE8E8'>".$row['To_Date']."</td>";
$body .="<td>".$row['first']."</td>";
$body .="<td bgcolor='#FFE8E8'>".$row['last']."</td>";
$body .="<td>".$row['city']."</td>";
$body .="<td bgcolor='#FFE8E8'>".$row['country']."</td>";
$body .="</tr>";
$to1 = $row['Email_1'];
$to2 = $row['Email_2'];
$account_name = $row['account_name'];
}
$body .="</table>";


$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "smtp.gmail.com"; // SMTP server
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com"; // sets the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "$sender_email"; // SMTP account username
$mail->Password = "$sender_password"; // SMTP account password


$mail->SetFrom($sender_email,$sender_name);

$mail->AddReplyTo("$sender_email","$sender_name");


$mail->Subject = "Hello Dear $account_name";


$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";

$mail->MsgHTML($body);



$mail->AddAddress($to1,$account_name);

$mail->AddAddress($to2,$account_name);




if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "YOUR E-MAIL HAS SENT";

}


}
?>

</body>
</html>

每封郵件發出后你都要調用$mail->ClearAddresses() 您沒有在每個郵件之后重置PHPMailer對象,並且AddAddress()完全按照它所說的那樣 - 在“收件人:”列表中添加新地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM