gpt4 book ai didi

php 不向收件人发送邮件

转载 作者:行者123 更新时间:2023-12-01 00:44:25 25 4
gpt4 key购买 nike

我有一个 php 脚本,它可以将邮件发送给多个收件人。我想将所有收件人都写到密件抄送。电子邮件地址是从 mysql 数据库中检索的。不幸的是,它不会发送任何邮件。

这是脚本:

    <?php
include("/path/to/config.php");
$db = @new mysqli($mysql_host, $mysql_user, $mysql_pass, $mysql_db);
if (mysqli_connect_errno()) {
die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}

$sql = "select email from newsletter";
$recipients = array();
$result = $db->query($sql);

if (!$result) {
printf("Query failed: %s\n", $mysqli->error);
exit;
}
while($row = $result->fetch_row()) {
$recipients[]=$row;
}

print_r($recipients);

$result->close();
$db->close();


$to = 'myemail';
$subject = $_POST["subject"];
$body = $_POST["message"];
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'Reply-To: support@mymail.de' . "\r\n";
$headers .= 'BCC: ' . implode(', ', $recipients) . "\r\n";

mail($to, $subject, $body, $headers);

?>

print_r 返回有效响应:

Array ( [0] => Array ( [0] => first@mail.com ) [1] => Array ( [0] => second@mail.com ) )

最佳答案

你正在制作一个数组数组:

while($row = $result->fetch_row()) {
^^^^---array
$recipients[]=$row;
^^^^---add array to another array
}

你可能想要类似的东西

while($row = ...) {
$recipients[] = $row[0];
}

所以您只添加电子邮件地址。

由于您正在分解数组中的数组,并将生成的字符串填充到另一个字符串中,因此您将得到 BCC: Array, Array, Array, ....

关于php 不向收件人发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24619058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com