1

В настоящее время я использую Mac Mini Server под управлением OS X Server. На сервере размещается несколько приложений Ruby on Rails с использованием Phusion Passenger, где два из них используют базу данных PostgreSQL. В одном из этих приложений есть база данных списка рассылки, которая использует ActionMailer для отправки электронной почты. На момент написания этой статьи приложение отправит 224 письма, когда мы отправим информационный бюллетень.Как ускорить отправку писем с помощью ActionMailer с моего Mac Mini Server?

Мы использовали адрес электронной почты GoDaddy в конфигурации SMTP. Письма отправили всего пять минут. Однако GoDaddy позволяет отправлять только 250 писем в день. Они также позволяют вам одновременно приобретать реле 50 одновременно с трехмесячным минимумом. Мы не были уверены, насколько хорошо это сработает для нас с ростом списка рассылки. По мере роста мы можем добавить 50 человек в список рассылки раньше трех месяцев, за которые мы уже заплатили. Я чувствовал, что мы должны посетить включение Mail Server на нашем Mac Mini Server.

После получения ответа на вопросы от Apple я смог получить работу почтового сервера, где я могу отправлять и получать электронные письма. Однако, когда я отправляю те же электронные письма, это занимает 30 минут вместо пяти. Документация для OS X Server по-прежнему имеет старую информацию от Lion Server, ссылающуюся на серверные средства администрирования сервера, которые больше не применяются к OS X Server.

Я надеялся, что время отправки писем может быть таким же, поскольку база данных для приложения Rails и почтового сервера была на одном компьютере. Однако, в общем, я понимаю, что в некоторых случаях может возникнуть конфликт с использованием одних и тех же ресурсов. Есть ли способ ускорить отправку писем? К сожалению, серверные средства администрирования сервера не были предоставлены для OS X Server. Документация для OS X Server по большей части бесполезна, поскольку они ссылаются на инструменты администрирования сервера, которые больше не существуют.

Я разместил это на сервере Fault и Ask Differently. Однако здесь я хотел спросить, есть ли какие-то конкретные вещи, которые я могу сделать в своем приложении Rails, которое может сделать отправку писем с помощью ActionMailer более эффективной.

Любая помощь будет оценена по достоинству.

ответ

0

У нас есть аналогичная ситуация, когда мы отправляем от 100-300 электронных писем кандидатам на работу по результатам собеседования. Отправка электронной почты через ActionMailer происходит медленно, так как обычно требуется несколько секунд на электронную почту.

Таким образом, отправка электронной почты является одним из классических вариантов использования очереди заданий. A similar question provided some helpful answers, но могу вам сказать, что я использую Resque и ResqueMailer и был очень доволен результатами. Это требует наличия службы Redis, но для этого относительно безболезненно.

+0

Я смотрел на Redis, чтобы помочь с локализацией проекта, который я планирую начать через некоторое время. Полагаю, что я получил сервер успешно на моем сервере разработки. Я только что упомянул моего мужа о том, чтобы вернуться к рассмотрению задания для этого задания. Я собирался попробовать использовать Queue Classic, который использует PostgreSQL, но возникла проблема, так как версия сервера PostgreSQL не соответствует версии базы данных. Я обязательно посмотрю на Reqsque и ResqueMailer. Я опубликую здесь свои результаты. Спасибо. –

+0

Дэн, у меня есть еще один вопрос о вашем решении. Что произойдет, если сервер Redis не работает по какой-либо причине? Будет ли он пытаться использовать ActionMailer для отправки электронной почты или будет выдано сообщение об ошибке. Примечание. Я только что настроил Redis на нашем производственном сервере в облаке. Я уже установил его на нашем сервере разработки в январе. Еще раз спасибо! –

+0

Resque/ResqueMailer не будет работать, если Redis не запущен. Честно говоря, я не могу вспомнить, вызывает ли это ошибку или терпит неудачу. Лучше всего планировать мониторинг Redis, чтобы он был доступен. Для этого мы используем [Бог] (http://godrb.com/). –

0

Я прекратил использовать почтовую службу на своем Mac Mini Server. Я не смог найти решение с помощью технической поддержки Apple. Я пережил это до месяца назад, когда на наши электронные письма ушло почти час. Я решил искать другие параметры SMTP.

Я узнал о Mandrill (созданный учредителями MailChimp). Они позволяют вам отправлять 12 000/месяц бесплатно, а затем минимальную сумму на 1000 писем (я думаю). Все, что мне нужно было сделать, это изменить конфигурацию SMTP для использования Mandrill и добавить пару записей TXT DNS, и я был настроен.

Прежде чем я попытался использовать почтовую службу, я использовал GoDaddy, которому потребовалось около восьми минут, чтобы отправить около 250 писем. Я впервые использовал Mandrill для отправки писем во весь список рассылки (почти 350), и это заняло менее трех минут. Нет рекламы или что-то в этом роде. Я успешно отправляю письма GoDaddy и Mandrill. Я изменил все мои приложения Rails, чтобы использовать настройки Mandrill SMTP. Имеющиеся отчеты замечательны.

Mandrill Web Site

Смежные вопросы