Substitua System.Net.Mail.MailMessage com mensagem criada manualmente e enviá-lo
-
11-09-2019 - |
Pergunta
Eu estou tentando enviar e-mails que vai saltar para uma caixa de correio conhecida. Eu pretendo usar VERP. Infelizmente o objeto System.Net.Mail.MailMessage não me permite definir precisamente o de: e Sender: cabeçalhos dentro do meu e-mail - que obriga os valores para que o e-mail resultante contém a frase 'em nome de', e não permite me um bom controle sobre os cabeçalhos mime relevantes. Por isso, pretende-mails gravação mime manualmente diretamente para o diretório de recebimento para que eu possa controlar de forma independente De e Remetente cabeçalhos. Minha caixa de dev é uma caixa de Vista e, portanto, não tem um servidor SMTP. Gostaria de configurar a caixa de dev para que eu tenha um servidor SMTP em execução. Posso, então, desligar o servidor SMTP, as mensagens de gravação para a dir captador, em seguida, ligar o servidor SMTP e ver como os e-mails individuais que tenho escrito irá se comportar (alguns entregues, alguns saltou para um manipulador de salto em um domínio de e-mail diferente, como ditado pelo remetente). Duas questões: 1. Alguém pode recomendar um servidor SMTP que irá monitorar um diretório de recebimento? 2. Se definir cabeçalhos como se segue; De: a@a.com; Remetente: b@b.com seguida, o destinatário verá o e-mail como tendo vindo de a@a.com (e não ver qualquer referência a b@b.com), mas se os saltos e-mail, em seguida, o NDR será enviado para b@b.com).
É uma verdadeira dor de ter que fazer isso, mas eu não consigo ver nenhuma maneira de usar System.Net.Mail.MailMessage sem ele estragar meus cabeçalhos.
Solução
Um bom (livre) servidor SMTP é Mercury - ele pode monitorar um diretório e é muito simples de instalar e configurar.