Как передать файлы по мейлу, mail, передача файлов без ftp сервера, некрупный файл, из определённой папки C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, подскажите пожалуйста как отправить файл из конкретной папки через mail при нажатии на кнопку в программе, чтобы отправлялся с одной моей почты на другую. вот мой код для отправки писем, без файлов:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Net.Mail;
 
namespace GraphMail
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string tema, messageBody;
            const string login = "Мой меил", password = "пароль от мейла", toPerson = "кому";
 
            tema = textBox2.Text;
            messageBody = textBox3.Text;
 
            SendMail(login, password, toPerson, tema, messageBody);
        }
 
        private void SendMail(string login, string password, string toPerson, string tema, string messageBody)
        {
            //smtp сервер
            string smtpHost = "smtp.mail.ru";
            //smtp порт
            int smtpPort = 25;
 
            //создаем подключение
            SmtpClient client = new SmtpClient(smtpHost, smtpPort);
            client.Credentials = new NetworkCredential(login, password);
 
            //От кого письмо
            string from = login + "@mail.ru";
            //Кому письмо
            string to = toPerson + "@mail.ru";
 
            //Создаем сообщение
            MailMessage mess = new MailMessage(from, to, tema, messageBody);
 
            try
            {
                client.Send(mess);
                MessageBox.Show("Message send");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
    }
}

Решение задачи: «Как передать файлы по мейлу, mail, передача файлов без ftp сервера, некрупный файл, из определённой папки C#»

textual
Листинг программы
 
try
{
   // добавляю вложение в мое сообщение, в примере, это файл, который я забираю
   // из текущего каталога приложения.
   var b = File.ReadAllBytes(«c:\frommail\attachment.txt»);
   var stream = new MemoryStream(b);
 
   // создаю вложение, указывая поток данных, имя вложения, которое будет отображаться
   // почтовым клиентом и тип контента,
   // чтобы почтовый клиент правильно определил тип документа.
   // Вот здесь можно посмотреть возможные типы контента MIME:
   // [url]http://www.iana.org/assignments/media-types/text/index.html[/url]
   var attachment = new Attachment(stream, «attachement.txt», «text/plain»);
   message.Attachments.Add(attachment); // присоединяю вложение
 
   // отправляю письмо синхронно, можно это также сделать асинхронно.
   client.Send(message);
   Console.WriteLine(«Сообщение выслано»);
}
catch (Exception exc)
{
   Console.WriteLine(exc);
}
finally
{
   client.Dispose();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы