Pergunta

Estou tentando usar o System.Net.Mail.MailMessage classe em C# para criar um email enviado para uma lista de endereços de email, tudo via BCC. Eu não quero incluir um TO endereço, mas parece que devo, porque tenho uma exceção se usar uma string vazia para o TO endereço no MailMessage construtor. O erro afirma:

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

Certamente é possível enviar um e -mail usando apenas BCC Como isso não é uma limitação do SMTP.

Existe uma maneira de contornar isso?

Foi útil?

Solução

Eu acho que se você comentar o todo emailMessage.To.Add(sendTo); linha, ele enviará o e -mail com To campo vazio.

Outras dicas

Faça a mesma coisa que você faz para explosões internas de correio, onde não deseja que as pessoas respondam o tempo todo.

Envie isto para você mesmo (ou uma conta fictícia) e adicione sua lista do BCC.

Você deve incluir um endereço para endereçar. Basta enviá -lo para um endereço de e -mail "lixo" que você não se importa em receber e -mails.

Nem precisa ser um endereço de e-mail real, normalmente uso Mailer@CompanyName.com por TO, e NoReply@CompanyName por FROM.

Só não chame o add-method na propriedade.

Deve ter um para o endereço. Tem sido assim desde que o Sendmail original é implementações nos anos 80 e todos os mala diretos do SMTP, eu conheço o mesmo requisito. Você pode apenas usar um endereço dummy para.

Você pode usar um endereço falso temporário e removê -lo logo após:

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

Eu acho que você estava tentando fazer algo como:

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

É por isso que você estava vendo a mensagem de erro.

Em vez disso, tente algo assim:

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");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top