окно API для SMTP - PullRequest
       7

окно API для SMTP

2 голосов
/ 29 августа 2010

есть ли windows api, который может отправлять почту, используя smtp вместе с вложением . Я слышал, что это невозможно, и я должен использовать другие методы сокетов, если это правда, как я могу это сделать?

пожалуйста, предложите только решение c ++ или c, без c # или java (например, system.net.mail и т. Д.)

Ответы [ 2 ]

1 голос
/ 29 августа 2010

Это одно из тех мест, где (по моему опыту) вам лучше без библиотек. Microsoft предоставляет (как минимум) MAPI, Simple MAPI и CDO в качестве способов отправки электронной почты. К сожалению, по моему опыту, все они (, особенно MAPI) значительно сложнее, чем выполнять работу самостоятельно.

По крайней мере, если вы имеете дело с незащищенным соединением электронной почты, выполнять работу без библиотеки довольно просто: подключитесь к серверу через порт 25. Отправьте ему несколько строк и электронное письмо. Когда вы приступаете к этому, «Простой» - это «Простой протокол пересылки почты», который полностью гарантирован - это действительно довольно просто сделать.

Если вы хотите создать защищенное соединение, вы почти наверняка захотите использовать для этого библиотеку - создание защищенного соединения является совершенно нетривиальной задачей. Поскольку вы используете Windows, очевидным выбором будет InternetOpen и InternetConnect. Вопреки документации, InternetConnect позволит вам создать соединение на почти любом порту. В нем перечислены только полдюжины возможностей или около того, но если вы просто передадите фактический номер порта, такой как 465 или 587, он должен работать - хотя существует несколько блоков WinInet несколько портов (вероятно, неэффективных) ) меры безопасности.

Работа с вложением - это (в основном) отдельный вопрос. Вложение просто заканчивается как текст в теле письма, с достаточным количеством заголовка, чтобы программа-получатель электронной почты интерпретировала его как вложение вместо текста. Есть три достаточно популярных варианта: BinHex, UUencode и MIME. Если вы просто хотите делать простые вложения, UUencode, вероятно, является подходящим вариантом. MIME более способный, но значительно более сложный. Основной причиной его использования было бы то, что вы хотели делать что-то, кроме простых вложений (например, электронная почта с вложенными, а не вложенными файлами). BinHex несколько проще в реализации, но тратит больше места - основная причина его использования - для нескольких старых почтовых клиентов, которые не могут обрабатывать что-либо еще.

0 голосов
/ 29 августа 2010

Вот ссылка на wxWidget smtp class .Если вы посмотрите на это, вы должны получить представление о том, как отправить сообщение электронной почты.

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