Отсылка e-mail через C#

C# 1 комментарий »

Отсылка e-mail через C#Этот кусок кода показывает, как можно программно отослать электронное письмо средствами C#. Письмо отсылается через указанный SMTP-сервер, который требует авторизацию. Так же к письму можно прикрепить одно или несколько вложений.


//Адрес SMTP-сервера
String smtpHost = "SMTP.SERVER.RU";
//Порт SMTP-сервера
int smtpPort = 25;
//Логин
String smtpUserName = "LOGIN";
//Пароль
String smtpUserPass = "PASSWORD";

//Создание подключения
SmtpClient client = new SmtpClient(smtpHost, smtpPort);
client.Credentials = new NetworkCredential(smtpUserName, smtpUserPass);

//Адрес для поля "От"
String msgFrom = "LOGIN@SERVER.RU";
//Адрес для поля "Кому" (адрес получателя)
String msgTo = "KUDA@TO.RU";
//Тема письма
String msgSubject = "Письмо от C#";
//Текст письма
String msgBody = "Привет!\r\n\r\nЭто тестовое письмо\r\n\r\n--\r\nС уважением, C# :-)";
//Вложение для письма
//Если нужно больше вложений, для каждого вложения создаем свой объект Attachment с нужным путем к файлу
Attachment attachData = new Attachment("D:\\Тестовое вложение.zip");

//Создание сообщения
MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
//Крепим к сообщению подготовленное заранее вложение
message.Attachments.Add(attachData);

try
{
    //Отсылаем сообщение
    client.Send(message);
}
catch (SmtpException ex)
{
    //В случае ошибки при отсылке сообщения можем увидеть, в чем проблема
    Console.WriteLine(ex.InnerException.Message.ToString());
}

Тело письма и его заголовок будут созданы и отосланы в кодировке - UTF-8. Если же захочется отослать письмо в кодировке windows-1251, то начинаются проблемы. Мне удалось найти только одно достаточно подробное описание этой проблемы. И в более свежих версиях фреймворка (помимо .Net Framework 2.0) точно такая же проблема.
Читать полностью »

1 звезда2 звезд3 звезд4 звезд5 звезд (Еще не оценили)
Загрузка ... Загрузка ...

MySql и русская кодировка

Веб-разработка Комментарии (4) »

Проблема возникает, если вы работаете с кодировкой, отличной от UTF-8, и храните в базе данных тексты, к примеру, в кодировке cp1251. Но MySql не всегда использует по умолчанию кодировку cp1251, в частности, не всегда по умолчанию используется эта кодировка для соединений с базой. Из-за этого возникают ситуации, когда в базе тексты хранятся в нормальном читабельном виде, но при выводе этих данных на сайт появляются одни лишь “кракозяблы” (знаки вопросов вместо букв – “?????????? ????”).
Читать полностью »

1 звезда2 звезд3 звезд4 звезд5 звезд (Еще не оценили)
Загрузка ... Загрузка ...

Конвертация времени

C# Комментариев нет »

Иногда нужно конвертировать время из System.DateTime в UNIX timestamp или наоборот.
Читать полностью »

1 звезда2 звезд3 звезд4 звезд5 звезд (1 голосов, средний: 5 из 5)
Загрузка ... Загрузка ...

Поиск без учета регистра

Веб-разработка Комментарии (3) »

Как-то раз проглядел, что у меня в базе данных сравнение строк было регистро-зависимым (cp1251_general_cs). К примеру, при запросе:

SELECT * FROM name_table WHERE name LIKE '%Слово%'

Находились только те записи, в которых буква “С” была большой, а все остальные буквы должны были быть в нижнем регистре.

Чтобы произвести регистро-независимый поиск нужно было делать следующий запрос:

SELECT * FROM name_table WHERE name LIKE '%Слово%' COLLATE cp1251_general_ci
1 звезда2 звезд3 звезд4 звезд5 звезд (2 голосов, средний: 4.5 из 5)
Загрузка ... Загрузка ...

Тема для WP & Иконки от N.Design Studio. Локализация Mywordpress.ru
Записи в RSS Комментарии в RSS Вход