我使用mailto链接填充用户默认电子邮件程序的密件抄送.
$mem_email=" ";
$sql="SELECT email_address FROM employee";
$contacts = $db->query($sql);
while($contact = $db->fetchByAssoc($contacts))
{
if($contact['email_address']!="" && $contact['email_address']!=NULL)
{
$mem_email.=$contact['email_address'].", ";
}
}
header("Location: mailto:?bcc={$mem_email}");
Run Code Online (Sandbox Code Playgroud)
我的问题是在bcc字段中分隔多个电子邮件的最佳分隔符是什么,或者; .
在我的情况下,我使用','.
我在差异分发列表中,如A,B,C
有很多电子邮件BCC到A,B,C
我想设置"将所有邮件密件抄送到特定分发列表到特定文件夹"的规则
似乎没有关于"BCC"的规则,
我如何制作密送邮件?如果我发送该邮件,它会显示所有收件人!
$to=array();
$members_query = mysql_query("select email from members");
while( $row = mysql_fetch_array($members_query) )
{
array_push($to, $row['email']);
}
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
// Additional headers
//$headers .= 'To: '.$newName.' <'.$newEmail.'>' . "\r\n";
$headers .= 'From: SmsGratisan.com <admin@website.com' . "\r\n";
mail(implode(',', $to), $title, $content, $headers);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我知道有一些类似的问题,但我不能让它工作.
好的,我在一个名为$ emailList的变量中有一个从我的数据库中获取的电子邮件列表.如果我将变量放在该$to部分中,我可以让我的代码从表单发送电子邮件,但我无法使用bcc.我甚至添加了一封电子邮件$to,但它并没有什么区别.
这是我的代码.
$to = "name@mydomain.com";
$subject .= "".$emailSubject."";
$headers .= 'Bcc: $emailList';
$headers = "From: no-reply@thepartyfinder.co.uk\r\n" . "X-Mailer: php";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= 'THE MESSAGE FROM THE FORM';
if (mail($to, $subject, $message, $headers)) {
$sent = "Your email was sent!";
} else {
$sent = ("Error sending email.");
}
Run Code Online (Sandbox Code Playgroud)
我试过两个代码:
$headers .= 'Bcc: $emailList';
Run Code Online (Sandbox Code Playgroud)
和
$headers .= 'Bcc: '.$emailList.';
Run Code Online (Sandbox Code Playgroud)
并不是说电子邮件没有分开,因为它们是.我知道他们是因为如果我放入$emailList该$to部分它是有效的. …
我有一段时间记下了我的一些代码:
/**
* Add a BCC.
*
* Note that according to the conventions of the SMTP protocol all
* addresses, including BCC addresses, are included in every email as it
* is sent over the Internet. The BCC addresses are stripped off blind
* copy email only at the destination email server.
*
* @param string $email
* @param string $name
* @return object Email
*/
Run Code Online (Sandbox Code Playgroud)
我不记得从哪里得到它(可能的来源),但这不应该与这个问题相关.基本上,每当我尝试通过SMTP发送带有BCC的电子邮件时,BCC地址都不会被隐藏 - 我已经阅读了整个RFC的SMTP协议(几年前),我认为我什么都没有丢失.
奇怪的是,如果我使用内置mail()函数向BCC发送电子邮件,一切正常,我不知道为什么 - 我想推送自己的电子邮件发件人,但我不明白这一点.
有人可以对这个黑暗的主题有所了解吗?
我们基于网络的PHP软件目前向1-2000名收件人发送通讯.通讯通常有PDF附件(15KB-5MB).该通讯不需要针对各个收件人进行自定义.
问题:发送一封包含每个收件人盲目复制(BCC)的电子邮件或为每个收件人生成唯一的电子邮件是否更好?
注意事项: - 哪个选项减轻了邮件传输代理的压力? - 哪种选项以编程方式更有效? - 哪个选项资源消耗较少? - 这两种选择都有限制吗?(例如BCC具有最大数量)
我已经尝试了谷歌,但根据经验证据,我找不到任何有明确意见的人.实际上很难找到任何有意见的人.
谢谢:为回答这个问题做出贡献的每个人.非常感谢人们的反馈,以确保我们正确地做事!
我正在尝试使用System.Net.Mail.MailMessageC#中的类来创建一个电子邮件,该电子邮件将全部通过电子邮件发送到电子邮件地址列表BCC.我不想包含一个TO地址,但似乎我必须因为如果我TO在MailMessage构造函数中使用空字符串作为地址而得到异常.错误说明:
ArgumentException
The parameter 'addresses' cannot be an empty string.
Parameter name: addresses
Run Code Online (Sandbox Code Playgroud)
当然可以仅使用发送电子邮件,BCC因为这不是SMTP的限制.
有没有解决的办法?
我试图只向Bcc发送邮件但无法发送.下面给出的代码与To和Bcc一起正常工作,但是当我尝试仅使用Bcc发送时它失败了.我尝试用To传递空字符串,但没有工作.我正在使用mailgun php API.
function send_mail($email,$subject,$msg,$bcc)
{
$api_key="";
$domain ="";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, 'api:'.$api_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_URL, 'https://api.mailgun.net/v2/'.$domain.'/messages');
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'from' => 'Example <examle@examle.com>',
'to' => $email,
'bcc' => $bcc,
'subject' => $subject,
'html' => $msg,
'o:tracking' => true));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
send_mail($email, $subject, $msg, $bcc);
Run Code Online (Sandbox Code Playgroud) 我正在使用其API的批量发送功能通过Mailgun发送一组电子邮件,其调用方式如下:
rv = requests.post(
"https://api.mailgun.net/v3/%s/messages" % mailgun_domain,
auth=("api", mailgun_key),
data={"from": sender,
"to": recip_vars.keys(),
"subject": subject,
"bcc": bcc_addr,
"text": "%recipient.text%",
"html": "%recipient.html%",
"recipient-variables":json.dumps(recip_vars)})
Run Code Online (Sandbox Code Playgroud)
其中recip_vars是收件人地址键入的批处理变量的字典.
在发送到该bcc地址的副本中,recip_vars尚未进行替换.
bcc地址是否需要以不同的方式指定,以便该副本包含替换,如果是,如何?
我正在使用带有php的sendgrid,我已经使用了客户端库和curl选项这两个选项.到目前为止,我已经能够直接使用addTo选项发送电子邮件,没有任何问题.但是当我尝试添加Cc或Bcc选项时,电子邮件仍然会被发送,但副本永远不会被发送.php版本有任何已知问题吗?在其他项目中,java库工作得很好.
这是一段简单的代码,我试图让它工作
<?php
require ('sendgrid/sendgrid-php.php');
$sendgrid = new SendGrid('user', 'pwd');
$mail = new SendGrid\Email();
$mail ->addTo("mymail@gmail.com");
$mail ->addCc("other@otherserver.com");
$mail ->setFrom("sender@server.com");
$mail ->setSubject("TEST");
$mail->setHtml("<h1>Example</h1>");
$sendgrid->send($mail);
?>
Run Code Online (Sandbox Code Playgroud)