![]() |
|
Модераторы: xvr |
![]()
|
|
| Гость_Shad0w |
|
|||
|
Unregistered |
Здраствуйте, меня интересует такой вопрос - в РНР есть такая функция mail. При ее помощи очень удобно посылать почту. Есть ли аналог етой функции в С?
|
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
В стандартах C99(стандарт языка), SUS(стандарт системы) нет. В Qt тоже нет(во всяком случае в третьей, кто знает, чего в 4ую напихают). Если есть время и/или любишь все сам делать, то RFC2821(Simple Mail Transport Protocol, брать, допустим, на ftp://ftp.isi.edu/in-notes/rfc2821.txt) тебе в руки. А заодно и RFC2822(Internet Message Format, ну, например, на ftp://ftp.isi.edu/in-notes/rfc2822.txt ). А если ленивый, то тебе дорога на sourceforge и/или freshmeat. Там есть какие-то libsmtp[++]. Хотя RFCшки почитать не повредит. И telnet <smtpserv> 25 тоже неплох в целях саморазвития.
-------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| shad0w |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 9.5.2005 Репутация: нет Всего: нет |
Прочитал я много доков, факов и листингов. Нигде не видел. Всё усложняется тем, что сокеты только начинаю учить (совсем недавно на С пересел). Так вот, а если зделать при помощи system. Тоесть, возможно ли зделать при помощи system() + mail? В мане мейла написано, что можна в качестве параметра передавать сабж, а можна ли передать тело письма.
ЗЫ как на С семулироровать нажатие Ctrl+d? Может есть готовый код для етой комбинации? |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
libsmtp - извиняюсь, ИМХО ХЛАМ (да простят меня те, кто в нем разбирается
|
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
ИМХО не стоит вызывать внешние программы без особой на то надобности, ибо медленно. GrayCardinal прав: никто ведь не мешает взять и скопировать код из того же mail. Тот же libsmtp раскурочить. При этом разобравшись что за код скопировали.
shad0w Кстати, советую поискать книгу "Unix. Разработка сетевых приложений" У.Р. Стивенса. Хорошая вещь. А ctrl-d эмулировать не надо, если отважился на вызов system. Сделай типа system("mail blah-blah-blah </tmp/MessageBody"); предварительно записав в /tmp/MessageBody тело сообщения. Это сообщение отредактировал(а) Mayk - 29.5.2005, 16:02 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
Дался вам "system"
и делать можно все что хош с процессом... вайт можно повесить на сигшилд, стандартный ввод для сендмэйл тоже можно свой задать (смотреть pipe и dup2)... в общем большой простор для размышлений. Можно popen заюзать, можно можно можно.......... можно простым коннектом к серваку (своему или к zmail HELO ВАСЯ\r\n и т.д. по ходу. ЗЫ если вызов wait не делать, получаются такие зомби прикольные... ВСЕМ админам/модераторам не нравятся... чем мы и пользуемся ЗЫЫ да, и не советую system ("sendmail") (или popen и иже с ними) вызывать, если там есть хоть кусочек, который пришел "слева" ... ибо хакнут |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |