gpt4 book ai didi

php - 使用 PHP PEAR MAIL 发送多个 CC 和 BCC

转载 作者:IT王子 更新时间:2023-10-29 00:19:47 26 4
gpt4 key购买 nike

我在工作中有一个项目,我正在使用 Pear 的邮件。我需要使用 smtp,因为我们需要能够从我们的邮件服务器跟踪所有内容。用户需要能够在发送基于公司的电子邮件之前登录。我们不能为此使用 php 的邮件功能。

我的问题是我在网上找不到任何关于发送 CC 和 BCC 以及发送多个 BCC 的文档。使用 php 的邮件功能很容易做到。你所做的就是像这样将它添加到 $header 变量中

$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

这是我使用 PEAR 的 php 函数的代码

function sender_mail($email,$subject,$mailmsg, $cc, $bcc){

include("Mail.php");
/* mail setup recipients, subject etc */

//DEFAULT VALUE OF FROM
$from = "noreply@addata.net";

//GET EMAIL OF USER
$result = mysql_query("SELECT email, email_pass FROM u_perinfo WHERE user_id = '$_SESSION[uid]'")
or die("There was an error when grabbing your email information");
if(mysql_num_rows($result) > 0){
$row = mysql_fetch_array($result);
if($row[0] != ''){
$from = $row[0];
}
$email_pass = $row[1];
}

$recipients = "$email";
$headers["From"] = "$from";
$headers["To"] = "$email";
$headers["Subject"] = $subject;
$headers["Cc"] = "$cc"; //Line added by Me to see if it works
$headers["Bcc"] = "$bcc"; //Line added by Me to see if it works


//$mailmsg = "Welcome to Addatareference.com! \r\n\r\nBelow is your unique login information. \r\n\r\n(Please do not share your login information.)$accountinfo";
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "smtp.emailsrvr.com";
$smtpinfo["port"] = "25";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "$from";
$smtpinfo["password"] = "$email_pass";
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
/* Ok send mail */
$mail_object->send($recipients, $headers, $mailmsg);

}

我一直在努力寻找解决方案,但没有返回真实信息。如果有人可以帮助我解决这个问题,我将不胜感激。

最佳答案

虽然在使用 PEAR 邮件功能时 Bcc 有一个问题:Thunderbird 显示 Bcc header ,因此收件人不会被隐藏,这就是 Bcc 的全部意义所在。它也显示在收件人:标题列表中(因为您必须在收件人中包含密件抄送列表)。

编辑:已解决 - 我从另一个站点发现解决方案只是将 Bcc 列表包含在 $recipients 中,而不是在任何 header 中。有用!

因此:

$bcc = "foo@example.com";
$to = "bar@example.com";
$headers = array(..other stuff.., 'To' => $to, ..rest of header stuff); // No Bcc header!
$recipients = $to.", ".$bcc;
$mail = $smtp->send($recipients, $headers, $message);

编辑 #2:确认来源 - http://raamdev.com/2008/adding-cc-recipients-with-pear-mail/

关于php - 使用 PHP PEAR MAIL 发送多个 CC 和 BCC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6311429/

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