Название: mail Отправлено: Авварон от Июль 14, 2009, 16:17 как посылать почту программно в линуксе? система - debian lenny, почтовый сервер exim4. гугл говорит открывать сокет и писать письмо руками, не кошерно. Есть ли нормальное апи для посылки почты?
Название: Re: mail Отправлено: Rcus от Июль 14, 2009, 16:50 Гуглу надо правильно вопросы задавать, ключевое слово здесь "SMTP" (Simple Mail Transfer Protocol)
еще можно apt-cache search smtp library :) Название: Re: mail Отправлено: Авварон от Июль 14, 2009, 20:26 smtp юзать нежелательно. Потом по нему я тоже примеров кда не нашел, можно директлинк?
какие есть альтернативы смтп? Название: Re: mail Отправлено: Tonal от Июль 15, 2009, 08:31 SMTP (http://ru.wikipedia.org/wiki/SMTP) - это протокол отправки писем. Поэтому, если тебе нужно отправить письмо, то либо он, либо IMAP.
Название: Re: mail Отправлено: Авварон от Июль 15, 2009, 10:01 а юзать его как? какая либа? да и сам хедер где взять?
Название: Re: mail Отправлено: crackedmind от Июль 16, 2009, 02:37 Ну либу можно поискать на просторах инета.
Ну, и, если все таки программа делается на Qt, то в libqxt есть класс QxtSendMail. p.s. Правда он использует программу sendmail. Которую можно и самому вызывать, и обойтись без Qxt Название: Re: mail Отправлено: Авварон от Июль 16, 2009, 08:06 к сожалению программа не на qt... нашел либу libesmtp в репах дебиана, похоже оно) правда апи как всегда через 1 место
Название: Re: mail Отправлено: crackedmind от Июль 16, 2009, 08:28 Ну в любом случае, почему бы напрямую не вызывать sendmail?
Название: Re: mail Отправлено: Авварон от Июль 16, 2009, 08:58 криво?:) вызовы system не тру:(
Название: Re: mail Отправлено: BRE от Июль 16, 2009, 09:00 Название: Re: mail Отправлено: BRE от Июль 16, 2009, 09:10 Кстати в Qt3 был пример отправки сообщения используя SMTP на несколько сотен строк. Протокол то простой. ;)
Название: Re: mail Отправлено: spirit от Июль 16, 2009, 09:17 вот есть класс (http://doc.libqxt.org/latest/classQxtSendmail.html), вот только не уверен, что он бесплатный.
ссылку обновил. Название: Re: mail Отправлено: Авварон от Июль 16, 2009, 09:23 spirit
дома гляну реализацию, спасибо BRE да, я видел) в 1м посте я в том числе его и упоминал) мб и заюзаю... Название: Re: mail Отправлено: Rcus от Июль 16, 2009, 09:33 Кстати в Qt3 был пример отправки сообщения используя SMTP на несколько сотен строк. Протокол то простой. ;) Тоньше надо :) SMTP простой пока используется ASCII без аттачей, а дальше на каждое расширение протокола по RFC :)Название: Re: mail Отправлено: Alex Custov от Июль 16, 2009, 16:29 Как раз этим занимаюсь. Использовать надо любого клиента к MTA. Например, попроще - jwsmtp. Код такой:
Код
Посложнее и покруче - libesmtp (есть в Debian). Документация тут (http://www.stafford.uklinux.net/libesmtp/api.html). Проблемы: нет гарантии доставки письма. Если письмо корректно сформировано (с точки зрения синтаксиса), то exim сразу ответит "250 OK", и ты будешь думать, что письмо ушло. Но если exim по какой-то причине не сможет доставить это письмо (несуществующий обратный адрес, др.), то письмо не уйдёт и узнать об этом можно будет из лога /var/log/exim4/mainlog. Возможно, в отслеживании статуса письмо поможет libesmtp с ETRN, но я это ещё не щупал. Название: Re: mail Отправлено: Авварон от Июль 16, 2009, 16:43 сслыку на esmtp тоже видел:) беглым взглядом не увидел сильных отличий от мана, хотя в общем на сайте инфы больше... спасибо, буду разбираться:)
а jwsmtp отдельно качать\собирать из сорцов надо? бегло в репах не нашел Название: Re: mail Отправлено: Alex Custov от Июль 16, 2009, 16:49 сслыку на esmtp тоже видел:) беглым взглядом не увидел сильных отличий от мана, хотя в общем на сайте инфы больше... спасибо, буду разбираться:) а jwsmtp отдельно качать\собирать из сорцов надо? бегло в репах не нашел в репах нет, надо качать и собирать deb пакет. Если не компилится в Lenny, надо наложить патч. Код
P.S. Почему стало нельзя делать аттачи? Название: Re: mail Отправлено: Авварон от Июль 17, 2009, 10:22 вот нашел пример юзания libesmtp. Код взят с китайского сайта-_-, работоспособность не проверял...
Код: #define _XOPEN_SOURCE Название: Re: mail Отправлено: Авварон от Июль 20, 2009, 10:59 по поводу libesmtp - ни фига не работает:( Приходит пустое сообщение, хотя все теги заголовка прописываются правильно - нет только тела... причем странно нет - энтеры есть) возможно это косяк аутлука или exchange'а...
jwsmtp вроде работает:) |