Почему письма, отправленные smtpclient, не отображаются в отправленных элементах
я реализовал сервер, который отправляет электронные письма через .Net SmtpClient. код отправки почты выглядит так:
private static MailMessage SendMail(string to, string subject, string body)
{
MailMessage mailToSend = new MailMessage();
mailToSend.Body = body;
mailToSend.Subject = subject;
mailToSend.IsBodyHtml = true;
mailToSend.To.Add(to);
try
{
mailClient.Send(mailToSend);
}
catch (Exception ex)
{
//Log data...
}
mailToSend.Dispose();
}
и в Интернете.config я поставил учетные данные почты, что-то вроде этого:
<configuration>
<system.net>
<mailSettings>
<smtp from="autoemail@mailserver.org">
<network host="smtp.mailserver.org" password="pswdpswd" port="25" userName="autoemail" clientDomain="the-domain" enableSsl="true" />
</smtp>
</mailSettings>
</system.net>
</configuration>
письма, отправленные успешно, и все работает нормально, но когда я вхожу в пользователя электронной почты на сервере exchange (например, через Outlook Web-App), я не вижу почту, отправленную через SmtpClient (через код) в папке "Отправленные".
как может Я храню копии отправленных писем в этих папках? Спасибо!
1 ответов
Они не записываются в отправленные элементы, так как это только отправить с помощью учетной записи от пользователя на уровне SMTP, он на самом деле не использует почтовый ящик для отправки электронной почты.
единственный вариант, который у вас есть, - не использовать SmtpClient
и с помощью Exchange API для отправки почты.
из их образец ссылка:
ExchangeService service = new ExchangeService();
service.AutodiscoverUrl("youremailaddress@yourdomain.com");
EmailMessage message = new EmailMessage(service);
message.Subject = subjectTextbox.Text;
message.Body = bodyTextbox.Text;
message.ToRecipients.Add(recipientTextbox.Text);
message.Save();
message.SendAndSaveCopy();