Электронные письма, отправленные через С# SMTP, не видны через почтовый клиент как отправленные

Если я попытаюсь отправить электронное письмо, такое как простой «информационный бюллетень», ни одно из них не появится как отправленное в моей папке «Отправленные». Я отправил его на свои почтовые адреса несколько раз (я бы сказал, что это может быть 20 тестовых писем) и ничего.

Можете ли вы посоветовать мне, как это сделать?

Это код приложения:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        // passwordBox.PasswordChar = '*';
    }

    private void sendButton_Click(object sender, EventArgs e)
    {
        string receiver = toBox.Text;
        char[] spl = new char[2] { ';', ',' };
        string[] receivers = receiver.Split(spl);

        //mail details
        MailMessage mail = new MailMessage();
        mail.From = new MailAddress("xxx@xxx");
        mail.Subject = topicBox.Text;
        mail.Body = contentBox.Text;

        //smtp details
        SmtpClient SmtpServer = new SmtpClient();
        SmtpServer.Host = "mail.xxx";
        SmtpServer.Port = 25;
        SmtpServer.Credentials = new NetworkCredential("xxx@xxx", "password");
        SmtpServer.EnableSsl = false;

        for (int i = 0; i < receivers.Length; i++)
        {
            try
            {
                mail.To.Add(receivers[i].ToString());

                SmtpServer.Send(mail);

                MessageBox.Show("Mail for " + mail.To.ToString() + " send!", " Success!", MessageBoxButtons.OK);
                mail.To.RemoveAt(0);
            }
            catch (Exception err)
            {
                MessageBox.Show(err.ToString() , "Error");
                return;
            }
        }
    }
}

Странная вещь, порт, который предоставляется компанией «465», и изменение EnableSsl на «true» продолжают сбой всего приложения.

Два вопроса:

  1. Что я сделал не так с SSL?
  2. Как сделать так, чтобы это приложение отображало отправленные электронные письма в папке «Отправленные»?

person Perisher    schedule 20.11.2014    source источник
comment
Электронные письма действительно отправляются?   -  person Fred    schedule 20.11.2014
comment
Что вы имеете в виду под сбоем всего приложения? Есть ли исключение? Это важная деталь, которую нужно упустить.   -  person mason    schedule 20.11.2014


Ответы (1)


Когда вы отправляете через свой код, вы не отправляете через Microsoft Outlook. Вы отправляете его прямо на сервер. Таким образом, электронные письма, отправленные от имени пользователя, не будут отображаться в его папке отправленных в Outlook. Электронная почта будет видна только тем, кто ее получает (Кому, Копия и Скрытая копия).

Вместо того, чтобы использовать библиотеки SMTP для отправки электронной почты, вы можете использовать какой-либо Exchange (если у вас есть контроль над веб-сервером, и это на самом деле программное обеспечение, которое он использует) или Outlook SDK для отправки от имени пользователя.

person mason    schedule 20.11.2014