Вы должны войти, чтобы создавать сообщения и темы.

Как отправить письмо с вложением на C#? [Решено]

Можете подсказать как отправить файл на почту например Gmail?

Добрый день 🖐
У нас принято здороваться.
С GMail нужно быть аккуратно, и сначала проверьте, без проблем ли дойдёт файл, который Вы хотите отправить.
Если Вы точно ввели всё правильно, а письмо долго доходит, то с этим ничего не сделаешь. С MailRu Я долго ждал письма.

Код

try
{
    var from = new MailAddress(login, name); // От кого: login – Ваша почта, name – отображаемое имя отправителя
    var to = new MailAddress(recipient); // Кому: recipient – Почта, кому отправляем e-mail
    using (var mail = new MailMessage(from, to))
    {
        mail.Subject = "Тема"; //  Тема письма
        mail.Body = $"<p>Тут текст письма<p>"; // Можно верстать письмо на HTML
        mail.IsBodyHtml = true; // Задаём, что текст письма имеет формат HTML
        mail.Attachments.Add(new Attachment(path)); // Добавляем вложение
        using (var client = new SmtpClient(smtp, port)) // SMTP-сервер и порт Вам нужно будет узнать в поддержке почтового провайдера
        {
            client.Credentials = new NetworkCredential(login, mailpassword); // Тут Ваш логин/пароль от почты
            client.EnableSsl = true;
            await client.SendMailAsync(mail);
        }
    }
}
catch
{
    MessageBox.Show("Проблемы с интернетом, либо с вводом логина/пароля.", "MailUploader", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
//Collect(); Если Вы отправляете много файлов, то лучше вызвать сборщик мусора, а то программа начнёт раздуваться в ОЗУ

 

Лайкнул XpucT
XpucT