Отправка писем через SMTP и тестирование - PullRequest
0 голосов
/ 24 июня 2010

У меня есть приложение PHP с системой приглашений, где пользователи могут приглашать других пользователей попробовать эту службу. Внутренне мы используем приложения Google для нашего домена для отправки / получения сообщений электронной почты (mydomain.com).

1) Мой вопрос заключается в том, могу ли я отправлять электронные письма со своего сервера с адресом от имени accept@mydomain.com? Я обеспокоен тем, что электронные письма блокируются / игнорируются целевым сервером. Я знаю, что можно отправлять электронные письма, настроив мою установку php для использования сервера smtp google, но существует ограничение в 500 электронных писем в день, что не очень масштабируется.

Я не очень много знаю об отправке электронных писем и почему / как они заблокированы / считаются спамом. Буду признателен за любые полезные советы / советы, которые вы можете дать мне.

2) Какой хороший способ проверить, работает ли часть моего приложения по электронной почте, не устанавливая ее на моем работающем сервере. Могу ли я просто установить SMTP-сервер на своем рабочем столе и отправлять почту таким образом? Можете ли вы порекомендовать любые другие хорошие идеи для тестирования. Я просто отправлю несколько писем на мои личные учетные записи веб-почты, чтобы убедиться, что все работает.

Спасибо, Билл

Ответы [ 5 ]

0 голосов
/ 14 мая 2013

1) Отправка:

Это хорошая статья, описывающая некоторые подводные камни при отправке электронной почты http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

Проверьте комментарии тоже.

2) Тестирование:

Отказ от ответственности - я работаю в компании, предоставляющей услуги, указанные ниже.

Если вы не хотите настраивать собственный SMTP-сервер, вы можете использовать размещенный сервис тестирования электронной почты, такой как Clickity

Вы можете создать столько тестовых адресов электронной почты, сколько захотите, или настроить свое приложение так, чтобы оно указывало прямо на наш SMTP-сервер. Затем вы можете просмотреть полную электронную почту на нашем сайте как часть своего ручного тестирования или автоматизировать тестирование через наш API.

0 голосов
/ 24 июня 2010

Я использую Dumbster для тестирования. Я поймаю электронные письма, затем мой тестовый код сможет проверить содержимое.

Чтобы избежать спама, есть ряд вещей, которые вы должны сделать, и я не уверен, что нашел их все. Убедитесь, что ваш IP-адрес зарегистрирован, и что при обратном поиске возвращается нужный домен.

0 голосов
/ 24 июня 2010

1) Мой вопрос заключается в том, могу ли я отправлять электронные письма со своего сервера с адресом по адресу приглашение@mydomain.com?Я обеспокоен тем, что электронные письма блокируются / игнорируются целевым сервером.Я знаю, что можно отправлять электронные письма, настроив мою установку php на использование сервера smtp google, но есть ограничение в 500 электронных писем в день, что не очень хорошо масштабируется.

Я не оченьмного знаю об отправке электронных писем и почему / как они заблокированы / считаются спамом.Буду признателен за любые полезные советы / советы, которые вы можете мне дать.

Существует способ отслеживания, если почта была отклонена (существует более 10 возможных причин отказов!).Вы можете установить заголовок обратного пути в ваших исходящих письмах.Рекомендуется указывать другой адрес электронной почты в пути возврата.Когда по какой-либо причине письма будут отклонены, на этот адрес будет отправлено уведомление.Кроме того, у вас может быть, например, задание cron (PHP), которое соединяется с помощью IMAP с отскоченной учетной записью электронной почты и что-то делает с отосланными электронными письмами.Это довольно надежный способ отслеживания статуса отправленных писем.

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

2) Какой хороший способ проверить, работает ли часть моего приложения по электронной почте?без установки его на моем живом сервере.Могу ли я просто установить SMTP-сервер на своем рабочем столе и отправлять почту таким образом?Можете ли вы порекомендовать любые другие хорошие идеи для тестирования.В основном я отправлю несколько писем на мои личные учетные записи веб-почты, чтобы убедиться, что все работает.

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

0 голосов
/ 24 июня 2010

Для тестирования электронной почты я использую Pappercut . Он прост в использовании, но некоторым антивирусам может не понравиться открытие порта 25.

0 голосов
/ 24 июня 2010

Для решения второй части (как указал Эрик, вам лучше повезет на serverfault.com с первой частью), любой локально размещенный SMTP-сервер должен быть в состоянии справиться с этим, и есть много доступных для любого данная ОС. Google может помочь вам в этом.

Главное, что вам нужно от локального SMTP-сервера - это подробное ведение журнала. Вполне возможно, что на локальном сервере может произойти сбой / отказать в доставке сообщения по назначению по любому количеству причин (опять же, serverfault.com), но это выходит за рамки проверки доставки кода электронной почтой на SMTP-сервер.

Если он правильно пересылает вам тестовое сообщение, отлично. Но если этого не произойдет, вы просто захотите увидеть в журналах сервера, что он правильно получил сообщение и смог его обработать. Независимо от того, что обработка выполнена, это отдельная проблема.

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