Domanda

Sto cercando di utilizzare la classe System.Net.Mail.MailMessage in C # per creare un messaggio di posta elettronica che viene inviato a un elenco di indirizzi di posta elettronica tramite BCC . Non voglio includere un indirizzo TO , ma sembra che debba farlo perché ottengo un'eccezione se uso una stringa vuota per l'indirizzo TO in Costruttore MailMessage . L'errore indica:

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

Sicuramente è possibile inviare un'e-mail utilizzando solo BCC poiché non si tratta di una limitazione di SMTP.

C'è un modo per aggirare questo?

È stato utile?

Soluzione

Penso che se commenti l'intera riga emailMessage.To.Add (sendTo); , invierà l'e-mail con il campo To vuoto.

Altri suggerimenti

Fai la stessa cosa che fai per le esplosioni di posta interna in cui non vuoi che le persone rispondano sempre.

Invia a te stesso (o un account fittizio), quindi aggiungi il tuo elenco BCC.

Devi includere un indirizzo TO. Basta inviarlo a un " junk " indirizzo email a cui non ti dispiace ricevere posta.

Non è nemmeno necessario che sia un vero indirizzo e-mail, in genere utilizzo Mailer@CompanyName.com per TO e NoReply @ CompanyName per FROM .

Basta non chiamare il metodo Add sulla proprietà To.

Deve avere un indirizzo. È stato così dall'originale sendmail implementazioni negli anni '80 e tutti i mailer SMTP, lo so, hanno gli stessi requisiti. Puoi semplicemente usare un indirizzo fittizio per.

Puoi utilizzare un indirizzo falso temporaneo, quindi rimuoverlo subito dopo:

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);
}

Penso che stavi cercando di fare qualcosa del tipo:

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

Ecco perché stavi visualizzando il messaggio di errore.

Invece, prova qualcosa del genere:

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");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top