为什么不隐藏通过 php 邮件发送的密件抄送电子邮件
why bcc emails sent via php mail are not hidden
我正在尝试通过密件抄送发送电子邮件,我原以为它们是隐藏的,但似乎没有。也许我的代码不正确?
// grab all emails from txt file
$myfile = fopen("database-email.txt", "r") or die("Unable to open file!");
$allEmails = fread($myfile,filesize("database-email.txt"));
fclose($myfile);
$afzender = "noreply@wisselslag.nl";
$to = 'pj.maessen41@live.nl';
$subject = 'Nieuwsbrief de Wisselslag';
$headers = "From: " . $afzender . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "Bcc: " . $allEmails . "\r\n";
if (mail($to, $subject, $message, $headers)) {
echo 'Bericht is verstuurd!';
} else {
echo 'There was a problem sending the email.';
}
所以我有一个 database-email.txt
文件,其中存储了所有电子邮件,彼此之间用逗号分隔,如下所示:
joey.tims@gmail.com,
j.maessen@online.nl,
john.doe@live.nl,
diana.johnson@hotmail.com,
当发送到我的 gmail 帐户时,我可以看到:
我怎么能看到电子邮件也发送到了哪里?
邮件列表不能有换行符。
写成一行:
$allEmails = str_replace(array("\n","\r"), '', $allEmails);
// joey.tims@gmail.com, j.maessen@online.nl, john.doe@live.nl, diana.johnson@hotmail.com
正如我在评论中提到的,任何收件人列表都不应包含换行符。
我会将您的文件格式更改为单行
joey.tims@gmail.com,j.maessen@online.nl,john.doe@live.nl,diana.johnson@hotmail.com
我也会使用 file_get_contents()
而不是 fopen
/ fread
。
或者,在每一行中存储您的电子邮件地址,不带逗号,例如
joey.tims@gmail.com
j.maessen@online.nl
john.doe@live.nl
diana.johnson@hotmail.com
并使用file()
和implode()
$allEmails = implode(',' file(__DIR__ . '/database-email.txt',
FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
我正在尝试通过密件抄送发送电子邮件,我原以为它们是隐藏的,但似乎没有。也许我的代码不正确?
// grab all emails from txt file
$myfile = fopen("database-email.txt", "r") or die("Unable to open file!");
$allEmails = fread($myfile,filesize("database-email.txt"));
fclose($myfile);
$afzender = "noreply@wisselslag.nl";
$to = 'pj.maessen41@live.nl';
$subject = 'Nieuwsbrief de Wisselslag';
$headers = "From: " . $afzender . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "Bcc: " . $allEmails . "\r\n";
if (mail($to, $subject, $message, $headers)) {
echo 'Bericht is verstuurd!';
} else {
echo 'There was a problem sending the email.';
}
所以我有一个 database-email.txt
文件,其中存储了所有电子邮件,彼此之间用逗号分隔,如下所示:
joey.tims@gmail.com,
j.maessen@online.nl,
john.doe@live.nl,
diana.johnson@hotmail.com,
当发送到我的 gmail 帐户时,我可以看到:
我怎么能看到电子邮件也发送到了哪里?
邮件列表不能有换行符。
写成一行:
$allEmails = str_replace(array("\n","\r"), '', $allEmails);
// joey.tims@gmail.com, j.maessen@online.nl, john.doe@live.nl, diana.johnson@hotmail.com
正如我在评论中提到的,任何收件人列表都不应包含换行符。
我会将您的文件格式更改为单行
joey.tims@gmail.com,j.maessen@online.nl,john.doe@live.nl,diana.johnson@hotmail.com
我也会使用 file_get_contents()
而不是 fopen
/ fread
。
或者,在每一行中存储您的电子邮件地址,不带逗号,例如
joey.tims@gmail.com
j.maessen@online.nl
john.doe@live.nl
diana.johnson@hotmail.com
并使用file()
和implode()
$allEmails = implode(',' file(__DIR__ . '/database-email.txt',
FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));