È passato un po 'di tempo da quando mi sono occupato della stessa cosa e ho concluso che non è possibile, nonostante i diritti "Invia come".
rappresentazione è l'unico modo per andare con EWS, vedere MSDN:
ExchangeService service = new ExchangeService();
service.UseDefaultCredentials = true;
service.AutodiscoverUrl("[email protected]");
// impersonate user e.g. by specifying an SMTP address:
service.ImpersonatedUserId = new ImpersonatedUserId(
ConnectingIdType.SmtpAddress, "[email protected]");
Se la rappresentazione non è abilitato, dovrete fornire le credenziali dell'utente per conto dei quali si desidera agire . Vedi this MSDN article.
ExchangeService service = new ExchangeService();
service.Credentials = new NetworkCredential("user", "password", "domain");
service.AutodiscoverUrl("[email protected]");
In alternativa è sufficiente specificare un reply-to address.
EmailMessage mail = new EmailMessage(service);
mail.ReplyTo.Add("[email protected]");
Tuttavia, "Invia come" diritti fanno applica quando l'invio di posta elettronica utilizzando System.Net.Mail, che in molti casi farà bene quando solo l'invio di e-mail. Ci sono tons of examples che illustrano how to do this.
// create new e-mail
MailMessage mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add(new MailAdress("[email protected]"));
message.Subject = "Subject of e-mail";
message.Body = "Content of e-mail";
// send through SMTP server as specified in the config file
SmtpClient client = new SmtpClient();
client.Send(mail);
mail.ReplyTo non funziona, non v'è alcuna setter su questo. public EmailAddressCollection ReplyTo {get; } – RobDigital
Esatto, è una raccolta. Quindi dovrai fare 'mail.ReplyTo.Add (" [email protected] ")' - risolverò l'esempio sopra. – bernhof
Utilizzo della rappresentazione Ho ricevuto un errore su mail.send. - L'indirizzo SMTP primario deve essere specificato quando si fa riferimento a una casella postale – markthewizard1234