LINUX.ORG.RU

Программная отсылка электронной почты из под Windows, UNIX и LINUX


0

0

Всем добрый день.

Подскажите мне пожалуйста унифицированный способ отсылки электронного сообщения из CGI написанного на С++ (никакая другая технология меня в данный момент не интересует поскольку весь проект написан исключительно на C++) который бы работал под Windows, UNIX и Linux без значительного изменения исходного кода (с использованием POSIX-совместимых библиотек или чего-то подобного).

Как я понимаю один из оптимальных вариантов это подсоединяться к почтовому серверу через SMTP и отсылать электронное сообщение таким образом с заранее созданного почтового ящика (Outlook ведь как то подсоединяется почтовому серверу, да и программы проверки сообщений под FreeBSD тоже). Дело в том что я практически не работал с программированием сетей, а с отсылкой электронных сообщений вообще никогда не встречался.

Если можно, то дайте мне четкий пример кода с отсылкой тестового сообщения, я буду очень признателен.

Заранее спасибо за любую помощь (и дополнительное гигантское спасибо за пример кода :)).

(Также буду очень признателен за любую ссылку на документацию по работе с SMTP, и подобными ему протоколами работы с электронной почтой)

Мазохист да поможет себе сам.

Документация по SMTP - RFC, их там несколько, по-моему, если считать всякие добавления, дополнения, расширения. Работать с сетью - sockets. man 2 socket, далее по ссылкам и see also.

> Как я понимаю один из оптимальных вариантов это подсоединяться к почтовому серверу через SMTP и отсылать электронное сообщение таким образом с заранее созданного почтового ящика.

Неправильно понимаешь. Во-первых, оптимальное решение для тебя, как прикладника, не заморачиваться SMTP на C/C++, а взять что-нибудь более другое, на чём это делать проще. Под Linux, например, гораздо проще пускануть /usr/sbin/sendmail с параметрами и загнать ему на stdin сообщение. Под Windows можно тоже сваять какую-нибудь простенькую утилитку на чём-нибудь высокоуровневом, а потом вызывать аналогично sendmail. Во-вторых, теоретически (и иногда - практически), ящик не обязателен, чем интенсивно пользуются спамеры.

> да и программы проверки сообщений под FreeBSD тоже

Получение (и проверка) почты осуществляется, вообще-то, по совсем другим протоколам.

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от watashiwa_daredeska

> Под Windows можно тоже сваять какую-нибудь простенькую утилитку на чём-нибудь высокоуровневом, а потом вызывать аналогично sendmail.

например в cygwin есть ssmtp. Большинство опций сендмэйла не поддерживаются, но простое письмецо отправить можно.

dilmah ★★★★★
()

>Как я понимаю один из оптимальных вариантов это подсоединяться к почтовому серверу через SMTP и отсылать электронное сообщение таким образом с заранее созданного почтового ящика (Outlook ведь как то подсоединяется почтовому серверу, да и программы проверки сообщений под FreeBSD тоже).

Для отправки е-письма не требуеца наличие "заранее созданного почтового ящика", посему достаточно: 1) сгенерить тело письма 2) отправить на smtp узел

Ищешь библиотеку, которая это может делать и прикручиваешь к своему проекту, а тарабанить с нуля по RFC - можно будет всю жизь этим занимаца.

PETER ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.