Почему письма, отправленные 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();