Sendmail по сравнению с SMTP

Единственная ситуация, в которой я должен был сделать это, посылает шаблонное электронное письмо. В.NET это обеспечивается из поля класс MailDefinition. Таким образом, это - то, как Вы создаете шаблонное сообщение:

MailDefinition md = new MailDefinition();
md.BodyFileName = pathToTemplate;
md.From = "test@somedomain.com";

ListDictionary replacements = new ListDictionary();
replacements.Add("<%To%>", someValue);
// continue adding replacements

MailMessage msg = md.CreateMailMessage("test@someotherdomain.com", replacements, this);

После этого сообщение. Тело было бы создано путем замены значениями в шаблоне. Я предполагаю, что можно смотреть на MailDefinition. CreateMailMessage () с Отражателем :). Извините за то, чтобы быть немного вне темы, но если это - Ваш сценарий, я думаю, что это - самый легкий путь.

22
задан molf 25 August 2009 в 08:41
поделиться

4 ответа

SMTP - это протокол, который используется почти всеми хостами Интернета для отправки почты. Этот протокол используется sendmail. Sendmail определяет, куда и как отправлять ваше сообщение.

Некоторые почтовые программы (большинство из них сегодня) подключаются напрямую к почтовому серверу и сообщают ему SMTP. Однако «традиционный» метод - и, возможно, лучший метод - позволить sendmail делать это.

Для этого есть две причины: 1) почти каждая программа в UNIX, которая делает то, что делает sendmail, спроектирована как drop- для замены (например, Postfix и Exim ); и 2) sendmail или его замена были разработаны для обработки почты и ничего другого - с помощью sendmail вам не нужно создавать SMTP-клиент.

Почтовый клиент Mutt для UNIX - это один из почтовых клиентов, который по-прежнему отказывается общаться по протоколу SMTP напрямую с почтовым сервером; хорошее (техническое) описание находится на вики .

Если у вас есть выбор (в любом случае в UNIX), говорить по SMTP напрямую или использовать sendmail, используйте sendmail - особенно на серверах.

39
ответ дан 29 November 2019 в 03:53
поделиться

Как уже упоминалось в NDP, они оба работают нормально - то есть, если ваш объем сообщений не превышает определенного количества.

Например, если ваше приложение может взаимодействовать по SMTP с любым локальный SMTP-сервер (на IP 127.0.0.1, порт 25) или сервер в той же подсети (т. е. по каналу с низкой задержкой), и этот сервер не использует никакие фильтры содержимого перед тем, как он поставит сообщение в очередь, вы обычно будете иметь возможность отправлять намного больше писем через SMTP за более короткое время.

Полезной ссылкой для Postfix может быть Общие советы по эффективности доставки почты - обратите внимание на цитату, гласящую, что

Отправлять почту через SMTP вместо /usr/sbin/sendmail.

Однако на современном оборудовании, если вы не планируете отправлять более 10 сообщений в секунду, вы не заметите никакой реальной разницы.

8
ответ дан 29 November 2019 в 03:53
поделиться

Ваш вопрос неверен - SMTP означает простой протокол передачи почты, тогда как sendmail - это программная часть для отправки почты с использованием этого протокола.

Используйте sendmail.

7
ответ дан 29 November 2019 в 03:53
поделиться

Они оба будут работать нормально. Action Mailer поддерживает оба.

Я успешно использовал SMTP в нескольких проектах. Мне казалось, что это немного более «стандартно», но я могу ошибаться

Я не использовал sendmail. Меня беспокоит то, что это может быть труднее настроить в среде разработки, если вы не разрабатываете непосредственно в Unix / Linux. Если вы можете напрямую общаться с любым SMTP-сервером - даже с удаленным, - вам нужно будет установить sendmail на рельсовой машине, чтобы он заработал.

Основная проблема, с которой я сталкиваюсь с электронной почтой, - это асинхронная отправка сообщений. Без локального SMTP-сервера локальный экземпляр sendmail будет более производительным.

В любом случае, если вы решите, что выбрали неверный вариант, переключиться будет довольно просто.

локальный экземпляр sendmail будет более производительным.

В любом случае, если вы решите, что выбрали неверный вариант, переключиться будет довольно просто.

локальный экземпляр sendmail будет более производительным.

В любом случае, если вы решите, что выбрали неверный вариант, переключиться будет довольно просто.

5
ответ дан 29 November 2019 в 03:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: