Frage

Ich versuche das zu benutzen System.Net.Mail.MailMessage Klasse in C#, um eine E -Mail zu erstellen, die an eine Liste von E -Mail -Adressen gesendet wird alle via BCC. Ich möchte keine einschließen TO Adresse, aber es scheint, dass ich muss, weil ich eine Ausnahme bekomme, wenn ich eine leere Zeichenfolge für die verwende TO Adresse in der MailMessage Konstrukteur. Der Fehler erklärt:

ArgumentException
The parameter 'addresses' cannot be an empty string.
Parameter name: addresses

Sicherlich ist es möglich, eine E -Mail nur mit dem Senden von E -Mails zu senden BCC da dies keine Einschränkung von SMTP ist.

Gibt es einen Weg um das?

War es hilfreich?

Lösung

Ich denke, wenn Sie das Ganze kommentieren emailMessage.To.Add(sendTo); Zeile, sie wird die E -Mail mit senden To Feld leer.

Andere Tipps

Tun Sie dasselbe, was Sie für interne Mail-Exponien tun, bei denen die Leute nicht die ganze Zeit beantworten möchten.

Schicken Sie es zu Sie selbst (oder ein Dummy -Konto), dann fügen Sie Ihre BCC -Liste hinzu.

Sie müssen eine zur Adresse einbeziehen. Senden Sie es einfach an eine "Junk" -An -E -Mail -Adresse, die Ihnen nichts ausmacht.

Es muss nicht einmal eine echte E-Mail-Adresse sein, ich benutze normalerweise Mailer@CompanyName.com zum TO, und NoReply@CompanyName zum FROM.

Rufen Sie einfach nicht das Add-Methode auf der To-Property an.

Muss eine zu adressieren haben. Es ist so, dass seit der ursprünglichen Sendmail -Implementierung in den 80ern und alle SMTP -Mailer, die ich kenne, die gleiche Anforderung haben. Sie können einfach eine Dummy -Adresse für zu verwenden.

Sie können eine temporäre gefälschte Adresse verwenden und sie kurz danach entfernen:

MailMessage msg = new MailMessage(from, "fake@example.com");
msg.To.Clear();
foreach (string email in bcc.Split(';').Select(x => x.Trim()).Where(x => x != ""))
{
     msg.Bcc.Add(email);
}

Ich denke, Sie haben versucht, so etwas wie zu tun:

var msg = new MailMessage("no-reply@notreal.com", "");

Deshalb haben Sie die Fehlermeldung gesehen.

Probieren Sie stattdessen so etwas aus:

MailMessage msg = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.notreal.com");
msg.From = new MailAddress("no-reply@notreal.com");
//msg.To.Add("target@notreal.com"); <--not needed
msg.Bcc.Add("BCCtarget@notreal.com");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top