[英]PHP send mail to multiple email addresses
我应该更改此 PHP 脚本中的哪些代码才能将一封电子邮件发送到 20 多个电子邮件地址?
<?php
$email_to = "youremailaddress@yourdomain.com"; // your email address
$email_subject = "Contact Form Message"; // email subject line
$thankyou = "thankyou.htm"; // thank you page
?>
请给我一个例子。 谢谢你。
为了提高代码的可读性,使用数组并将其分解为逗号分隔的字符串:-
$recipients = array(
"youremailaddress@yourdomain.com",
// more emails
);
$email_to = implode(',', $recipients); // your email address
$email_subject = "Contact Form Message"; // email subject line
$thankyou = "thankyou.htm"; // thank you page
您的
$email_to = "address@one.com, address@two.com, address@three.com"
需要是逗号分隔的电子邮件地址列表。
mail($email_to, $email_subject, $thankyou);
只需用逗号分隔它们,例如$email_to = "youremailaddress@yourdomain.com, emailtwo@yourdomain.com, John Doe <emailthree@example.com>"
。
以下代码将完成任务....
<?php
$contacts = array(
"youremailaddress@yourdomain.com",
"youremailaddress@yourdomain.com",
//....as many email address as you need
);
foreach($contacts as $contact) {
$to = $contact;
$subject = 'the subject';
$message = 'hello';
mail($to, $subject, $message, $headers);
}
?>
像这样:
mail("john@doe.com , marry@mail.com , frank@domain.com", "Test e-mail", "Hi, this is a test message!");
将所有电子邮件地址发送给所有收件人是非常糟糕的做法; 您应该使用密件抄送(密件抄送)。
$from = "myname@mymail.com";
$recipList = "mailaddress1,mailaddress2,etc";
$headers = "MIME-Version: 1.0\nContent-type: text/html; charset=utf-8\nFrom: {$from}\nBcc: {$recipList}\nDate: ".date(DATE_RFC2822);
mail(null,$subject,$message,$headers); //send the eail
$recipients = "test1@test.com,test2@test.com,test3@test.com,test1@test.com";
$email_array = explode(",",$recipients);
foreach($email_array as $email)
{
echo $to = $email;
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
最好的方法可能是将所有电子邮件保存在数据库中。
您可以尝试此代码,假设您的电子邮件在数据库中
/*Your connection to your database comes here*/
$query="select email from yourtable";
$result =mysql_query($query);
/以上代码取决于您保存电子邮件地址的位置,因此请确保将其替换为您的参数/
然后你可以从结果中创建一个逗号分隔的字符串,
while($row=$result->fetch_array()){
if($rows=='') //this prevents from inserting comma on before the first element
$rows.=$row['email'];
else
$rows.=','.$row['email'];
}
现在你可以使用
$to = explode(',',$rows); // to change to array
$string =implode(',',$cc); //to get back the string separated by comma
使用上面的代码,您可以像这样发送电子邮件
mail($string, "Test", "Hi, Happy X-Mas and New Year");
在邮件功能中,您可以在 $emailto 参数中使用逗号分隔的任意多个收件人。
试试这个。 这个对我有用。
$to = $email1 .','. $email2 .','. $email3;
这对我有用,
$recipient_email = 'sales@abc.com,support@xyz.com';
$success = mail($recipient_email, $subject, $body, $headers);
您可以只写多个要发送给谁的电子邮件地址,并将其作为第一个参数传递。 例子:-
mail("FirstEmailId@ABC.com, SecondEmilId@XYZ.com","Subject","Message","From: EmailId@PQR.com");
我认为以下代码会起作用。
$tos = array('address1@yourdomain.com', 'address2@yourdomain.com');
foreach ($tos as $to){
$ok = mail ($to, $subject, $body, $from);
}
if ($ok) {
echo "Message Send";
} else {
echo "Error";
}
我应该在此 PHP 脚本中更改哪些代码以将一封电子邮件发送到 20 多个电子邮件地址?
<?php
$email_to = "youremailaddress@yourdomain.com"; // your email address
$email_subject = "Contact Form Message"; // email subject line
$thankyou = "thankyou.htm"; // thank you page
?>
请给我一个例子。 谢谢你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.