Как передать файлы по мейлу, 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();
}