简体   繁体   English

如何使用php发送多个电子邮件

[英]how to send multiple email using php

I have a button that when pressed, it will email updates on the emails that are in the database. 我有一个按钮,当按下该按钮时,它将通过数据库中的电子邮件发送电子邮件更新。

This is my code. 这是我的代码。 I also got this from a forum but i don't know what's wrong that it don't get the emails in the database: 我也是从论坛上获得的,但是我不知道它没有在数据库中获取电子邮件,这是怎么回事:

$form_action = $_POST['form_action'];
if ($form_action == 'REGISTER') {

//send to your self
$to ="admin@admin.com";

$subject = 'System Email';

// message
$message = "<html>".
"<head>".
" <title>System Email</title>".
"</head>".
"<body>".
"message here!".
"</body>".
"</html>";

//get email list

//open database connection
$username = "root";
$password = ""; //input your password here.
$database = "dbase";
//connect to database
$link=mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("<b>Unable to specified database</b>");

$query="SELECT email_address FROM db_other_details";
$result=mysql_query($query) or die('Error, query failed');
mysql_close($link);

$row=1;
$numrows=mysql_num_rows($result);
$bccfield="Bcc: ". mysql_result($result,0,"email_address");
while($row<$numrows)
{
$email=mysql_result($result,$row,"email_address");
$bccfield .= "," . $email; //seperate by comma 
$row++;
}
$bccfield .= "\r\n";

// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= $bccfield;

$headers .= 'From: System <admin@admin.com>' . "\r\n";

// Mail it
mail($to, $subject, $message,$headers);

 if (mail($to,$subject,$message,$headers)) {
   header("Location: ".WEBSITE_URL."email-all.html?result=success");
} else {
    header("Location: ".WEBSITE_URL."email-all.html?result=failed");
}
}

switch (trim($_GET['result'])) {
    case "failed":
        $sendmail_result    = "failed";
        $form_message       = "Cannot send email to " . $numrows . "registrants at this time. Please try again later.";
        break;
    case "success":
        $sendmail_result    = "success";
        $form_message       = "Email sent to" . $numrows ." registrants.";
}

Any suggestions on how to do this? 有关如何执行此操作的任何建议? I checked some other topics here with same question but of no help. 我在这里用相同的问题检查了其他一些主题,但没有帮助。

Thanks! 谢谢!

1) Use PDO. 1)使用PDO。

2) Make sure you have error messages on for php. 2)确保您有关于php的错误消息。

3) var_dump / print_r your variables & GET requests to see if the data is available. 3)var_dump / print_r您的变量和GET请求,以查看数据是否可用。

4) Check mysql error log for potential query errors. 4)检查mysql错误日志中是否存在潜在的查询错误。

5) UTF-8 encode your data before sending them with php::mail() function. 5)UTF-8在使用php :: mail()函数发送数据之前对数据进行编码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM