(044) 538-1588
все способы связи
и решение проблем
сайт на украинскомUA сайт на русскомRU
 
 
  1gb - .net, ASP, Windows, Apache, PHP хостинг

Отправка почтовых сообщений

Вступление

Помните: рассылка спама и других сообщений, которые могут быть приняты за спам, запрещена. Для того, чтобы оградить себя и других пользователей хостинга от проблем и недоразумений, ознакомьтесь со следующими документами:

Общие замечания

Часто допускаемой ошибкой является создание сообщений с большой длиной строк. Такие сообщения могут доходить в искаженном или обрезанном виде.
Особенно часто это правило нарушается при некорректном создании HTML сообщений - перенос строк там кодируется символами <br>, таким образом, символы переноса строк в исходном тексте сообщения могут вообще отсутствовать.

Помните, что по MIME и RFC стандартам, которые используются для передачи почтового сообщения, длина строки сообщения не может превышать 80 символов (ориентировочно). Вам необходимо вставлять переносы строк искусственно, если ваше сообщение содержит длинные строки.

Это относится к кодировке сообщения 8bit, когда тело сообщения передается без кодировки.


В том случае, если тело сообщения кодируется (например, base64), длина итоговых строк может быть любой, но длина строки, используемый для передачи сообщения (т.е. содержащая данные в base64) опять же не может превышать 80 символов.

Обратите внимание! Заголовок From должен содержать адрес, существующий в Вашем личном кабинете.

PHP

Вы можете воспользоваться стандартной функцией mail(). Будьте осторожны и грамотны при конструировании украинских/русских писем!

Письма робота 1Gb.ua отправляются, например, такой функцией:
function _mail ($from, $to, $subj, $what)
{
mail($to, $subj, $what, 
"From: $from
Reply-To: $from
Content-Type: text/plain; charset=windows-1251
Content-Transfer-Encoding: 8bit"
);
}
Обратите внимание на переводы строк в строковой константе - они должны присутствовать.
Если вы хотите отправлять HTML письма, вы должны дописать в константу заголовков вместо строки Content-type следующую, например, строку:
Content-Type: text/html; charset=windows-1251

PERL

Для отправки почты вы можете воспользоваться модулем Net::SMTP.

Пример скрипта выглядит примерно так:
use Net::SMTP;    
$smtp = Net::SMTP->new('robots.1gb.ua'); 
$smtp->mail('from@me.ru');
$smtp->to('to@him.ru');
$smtp->data();
$smtp->datasend("From: <support\@1gb.ua>\n");
$smtp->datasend("To: <to\@him.ru>\n");
$smtp->datasend("Reply-To: <from\@me.ru>\n");
$smtp->datasend("Content-Type: text/plain; charset=windows-1251\n");
$smtp->datasend("Content-Transfer-Encoding: 8bit\n");
$smtp->datasend("\n");
$smtp->datasend("A simple test message!\n");
$smtp->dataend();
Советуем почитать об этом более подробно в описании PERL-а.

ASP

Важно: Из-за многочисленных технических проблем, недоразумений и сложностей в работе мы не рекомендуем и не поддерживаем использование отправки сообщений с помощью CDONTS.

Вариант 1.
Рекомендуем пользоваться компонентой Persits.MailSender (AspEmail), которая установлена на всех наших серверах. Для отправки используйте SMTP сервер robots.1gb.ua.
Пример использования на нашем сервере:
<%
set mm = Server.CreateObject("Persits.MailSender")
	mm.Host = "robots.1gb.ua"
	mm.From = "support@1gb.ua"
	mm.FromName = "1Gb support"
	mm.AddAddress "xxxx@1gb.ua"
	mm.AddCustomHeader "Content-Type: text/plain; charset=windows-1251"
	mm.AddCustomHeader "Content-Transfer-Encoding: 8bit"
	mm.Subject = "Тестовое сообщение"
	mm.IsHTML = 0

	mm.Body = "Тестовое сообщение (по русски)"
	mm.Send
%>
Документацию по этому компоненту можно прочитать здесь.

Вариант 2.
Для совместимости мы также предоставляем поддержку SMTPRus 2.1, которая также установлена на наших серверах.
Не рекомендуем вам пользоваться этим объектом, т.к. он сильно устарел и не обеспечивает надежной работы. Было замечено, что часто вместо отправки письма происходит ошибка (500 ошибка сервера IIS), вызванная несовместимостью объекта с современными программными средами.
Авторскую инструкция к SMTPRus можно прочитать здесь.

ASP .NET

Для отправки используйте SMTP сервер robots.1gb.ua. Вы можете использовать стандартную функциональность объекта System.Web.Mail:
System.Web.Mail.MailMessage m = new System.Web.Mail.MailMessage();
m.From = from;
m.To = to;
m.Subject = subject;
m.Body = what;
m.BodyFormat = System.Web.Mail.MailFormat.Text;
m.BodyEncoding = System.Text.Encoding.GetEncoding("windows-1251");

System.Web.Mail.SmtpMail.SmtpServer = "robots.1gb.ua";
System.Web.Mail.SmtpMail.Send (m);
Важно: При явной ошибке в адресе или любых других ошибках генерируется исключение с комментарием 'SendMessage() failed: Could not access 'CDO.Message' object.', которое не следует воспринимать как общую системную ошибку. Это всего лишь ошибка при отправке конкретного сообщения.

Parser 3.x

SMTP сервер уже настроен, для отправки сообщений достаточно написать следующее:
^mail:send[
   $.charset[koi8-r]
   $.from[Поддержка <support@1gb.ua>]
   $.to[Адресат <to@him.ru>]
   $.subject[Тестовое сообщение]
   $.text[Текст тестового сообщения]
]
Подробнее о технологии Parser на нашем хостинге можно почитать здесь.

 


Дополнительная информация по теме:

Где искать информацию

  • База знаний хостинга 1Gb.ua
    Здесь вы можете найти ответы на часто задаваемые вопросы программирования, совместимости, использования хостинга.
  • 1Gb-Wiki - библиотека различных полезных документов по хостингу
    Наши сотрудники и клиенты составили исчерпывающее описание всех нюансов хостинга и связанного с ним веб-программирования.

Самые популярные темы для программистов

Другие документы

 

Мы всегда готовы ответить на ваши вопросы!
 
Любые вопросы и поддержка - support@1gb.ua
другие способы связи

 

Обратите внимание

https free Корпоративная почта
на собственном домене

 

 

   
 
Наверх     
Поддержка: support@1gb.ua
другие способы связи
© 2005-2017 ООО 1ГБ