Отправка электронной почты с помощью Smtp-клиента с Mandrill

Я хочу отправить сообщение с помощью Mandrill. Для этого мне нужен следующий код:

Отправьте одно и то же сообщение всем получателям, чтобы каждый из них не видел адрес другого получателя.

Я использовал следующий код:

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
string[] toResult = to.Split(new Char[] { ';' });
foreach (string s in toResult)
{
    if (s != null && !s.Trim().Equals("") && !string.IsNullOrEmpty(s))
    {
        message.Bcc.Add(s);
    }
}
if (!cc.Equals(""))
{
    string[] ccResult = cc.Split(new Char[] { ';' });
    foreach (string s in ccResult)
    {
        message.CC.Add(s);
    }
}
if (!cci.Equals(""))
{
    string[] cciResult = cci.Split(new Char[] { ';' });
    foreach (string s in cciResult)
    {
        message.Bcc.Add(s);
    }
}
message.Subject = subject;


message.From = new System.Net.Mail.MailAddress(from, from);

message.IsBodyHtml = true;
message.Body = "<html><body>" + body + "</body></html>";
message.BodyEncoding = System.Text.Encoding.UTF8;
System.Net.Mail.AlternateView plainView = System.Net.Mail.AlternateView.CreateAlternateViewFromString
(System.Text.RegularExpressions.Regex.Replace(body, @"<(.|\n)*?>", string.Empty), System.Text.Encoding.UTF8, "text/plain");
System.Net.Mail.AlternateView htmlView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(body, System.Text.Encoding.UTF8, "text/html");
message.AlternateViews.Add(plainView);
message.AlternateViews.Add(htmlView);
message.Priority = System.Net.Mail.MailPriority.Normal;
smtp.Host = smtpH;
bool ssl = false;
if (useSSL.Equals("true"))
    ssl = true;
if (ssl)
{
    smtp.EnableSsl = true;
}
else
{
    smtp.EnableSsl = false;
}
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential(userName, password);
smtp.Port = Convert.ToInt32(port);

message.Headers.Add("Message-Id", String.Concat("<", DateTime.Now.ToString("yyMMdd"), ".",
    DateTime.Now.ToString("HHmmss"), "@" + from.Split('@')[1].ToString() + ">"));
smtp.Send(message);

Как вы можете видеть в приведенном выше фрагменте кода, я добавил все электронные письма в коллекцию Bcc, но это не работает.

Кто-нибудь имеет представление об этой проблеме.


person kbourzayq    schedule 19.09.2014    source источник


Ответы (1)


Если люди по-прежнему видят адреса электронной почты друг друга, вы, вероятно, захотите перейти к Отправка по умолчанию. страницу в своей учетной записи и отключите возможность показывать получателей друг другу. В противном случае вы можете добавить собственный заголовок SMTP, чтобы отключить эту опцию, но похоже, что вы, вероятно, не хотите, чтобы она была включена по умолчанию.

person Kaitlin    schedule 22.09.2014