Обвязка подачи на C++ — третья из пяти в главе. Её 19 методов — тот же набор возможностей, что у обвязки C, только без функций выделения, освобождения и запроса ошибки.
Три класса в трёх заголовках: submitter/Connection.hxx, submitter/Message.hxx и submitter/Recipient.hxx; на Linux они лежат в /opt/pmta/api/include.
Ошибка — исключение, после которого объект негоден и его выбрасывают. Подключение умеет вход с логином и паролем — механизмом CRAM-MD5, так что пароль по сети не передаётся.
Главные методы:
| Метод | Что задаёт |
|---|---|
| Connection::Connection | сервер, порт, по желанию логин и пароль |
| Message::setVirtualMta | адрес отправки для письма |
| Message::setJobId | задание |
| Message::setEncoding | кодировку добавляемых данных |
| Message::setReturnType | что вкладывать в отчёт о недоставке |
| Connection::submit | подать письмо |
# письмо через обвязку C++: соединение, отправитель, адрес отправки Connection conn("127.0.0.1", 25); Message msg("sender@example.com"); msg.setVirtualMta("vmta1");conn.submit(msg);
2 связи
ls /opt/pmta/api/include/submitter/
3 статьи
◇Как письмо попадает в MTAШесть описанных способов подачи: расширенный SMTP, четыре языковые обвязки и каталог, за которым узел следит на диске.◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.◇Заголовки, которыми отправитель управляет доставкойШесть служебных заголовков позволяют подающей стороне выбрать поток, пометить письмо заданием, задать настройки и ключ подписи, идентификатор конверта и расписание; каждый разрешается отдельно и по источникам.