Как я могу ускорить отправку писем с моего Mac Mini Server? [закрыто]

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

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

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

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

Любая помощь будет принята с благодарностью.

ОБНОВЛЕНИЕ 15.03.2013, 10:15 CST

Примечание: я новичок в работе с почтовыми серверами. Поправка о времени. Когда я проверил /var/log/mail.log, я увидел, что общее время обработки составляет около 41 минуты, а не 30. Когда я проверял production.log в своем приложении Rails, я наблюдал, как каждое электронное письмо отправляется успешно. Журнал почты подтвердил, что они отправлялись по одному.

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

Mar 14 11:06:50 hostname.domain1.com postfix/qmgr[45322]: 4B2C5603D25: removed
Mar 14 11:06:59 hostname.domain1.com postfix/smtpd[99464]: sacl_check: mbr_user_name_to_uuid(emailuser@emaildomain.com) failed: No such file or directory
Mar 14 11:06:59 hostname.domain1.com postfix/smtpd[99464]: sacl_check: mbr_user_name_to_uuid(@emaildomain.com) failed: No such file or directory
Mar 14 11:06:59 hostname.domain1.com postfix/smtpd[99464]: 28899603D28: client=hostname.domain1.com[208.52.189.83], sasl_method=PLAIN, sasl_username=iosusername
Mar 14 11:06:59 hostname.domain1.com postfix/cleanup[99468]: 28899603D28: message-id=<5141f599b105_17b1c3fc6cdc290d811372e@hostname.domain1.com.mail>
Mar 14 11:06:59 hostname.domain1.com postfix/qmgr[45322]: 28899603D28: from=<emailsender@senddomain.com>, size=6545, nrcpt=1 (queue active)
Mar 14 11:06:59 hostname.domain1.com postfix/smtpd[99464]: disconnect from hostname.domain1.com[208.52.189.83]
Mar 14 11:06:59 hostname.domain1.com postfix/smtpd[97748]: connect from localhost[127.0.0.1]
Mar 14 11:06:59 hostname.domain1.com postfix/smtpd[97748]: 6F4DD603D2F: client=localhost[127.0.0.1]
Mar 14 11:06:59 hostname.domain1.com postfix/cleanup[99478]: sacl_check: mbr_user_name_to_uuid(emailuser@emaildomain.com) failed: No such file or directory
Mar 14 11:06:59 hostname.domain1.com postfix/cleanup[99478]: sacl_check: mbr_user_name_to_uuid(@emaildomain.com) failed: No such file or directory
Mar 14 11:06:59 hostname.domain1.com postfix/cleanup[99478]: 6F4DD603D2F: message-id=<5141f599b105_17b1c3fc6cdc290d811372e@hostname.domain1.com.mail>
Mar 14 11:06:59 hostname.domain1.com postfix/smtpd[97748]: disconnect from localhost[127.0.0.1]
Mar 14 11:06:59 hostname.domain1.com postfix/qmgr[45322]: 6F4DD603D2F: from=<emailsender@senddomain.com>, size=7038, nrcpt=1 (queue active)
Mar 14 11:06:59 hostname.domain1.com postfix/smtp[99473]: 28899603D28: to=<emailuser@emaildomain.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.3, delays=0.01/0/0/0.29, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 6F4DD603D2F)
Mar 14 11:06:59 hostname.domain1.com postfix/qmgr[45322]: 28899603D28: removed
Mar 14 11:07:00 hostname.domain1.com postfix/smtp[97741]: 6F4DD603D2F: to=<emailuser@emaildomain.com>, relay=mx-eu.mail.am0.yahoodns.net[77.238.177.9]:25, delay=1.1, delays=0/0/0.34/0.79, dsn=2.0.0, status=sent (250 ok dirdel)
Mar 14 11:07:00 hostname.domain1.com postfix/qmgr[45322]: 6F4DD603D2F: removed

ОБНОВЛЕНИЕ 15.03.2013, 16:11 CST

Продолжаю проверять. Я решил отправить 5 писем, используя то же программное обеспечение, с которым у меня были проблемы со временем. Они по-прежнему отправляют медленнее, чем с учетной записью электронной почты GoDaddy. Я решил взглянуть на сообщение sacl_check, где он не нашел файл или каталог. Это сообщение появляется для каждого письма, которое я проверял. Я прочитал эту ссылку ниже, в которой обсуждалось это. В одном из комментариев упоминалось, что некоторые настройки необходимо сделать в файле /etc/postfix/main.cf.Моя электронная почта настроена только для локальных сетей. Другой вариант - куда-то переслать. Служба поддержки Apple Enterprise Support посоветовала мне настроить его таким образом, поскольку он будет использоваться ActionMailer в моих приложениях Rails только для отправки электронных писем. На созданный мной адрес электронной почты не будут приходить электронные письма. Я не изменял /etc/postfix/main.cf. Я не уверен, какие изменения мне нужно внести. Локальные пользователи как таковые никогда не будут проверяться.

https://discussions.apple.com/thread/3241121?start=0&tstart=0

-1
задан 15 March 2013 в 23:36
2 ответа

Большинство проблем "скорости" в отношении электронной почты сводятся к нескольким вещам:

  1. фильтрация. Если вы используете spamassassin или какой-либо другой фильтр, попробуйте временно отключить его, чтобы проверить, не ускоряется ли он.
  2. Проблемы с DNS. Убедитесь, что у вас нет рекурсивных cnames или чего-то дурацкого. Убедитесь, что все правильно разрешается внутри сети, а также вне сети.
  3. проверка петель почты. Обычно ваш MTA сообщает вам об этом в журналах MTA.
1
ответ дан 5 December 2019 в 19:30

Вам нужно будет устранить неполадки, чтобы увидеть, где находится узкое место. Во-первых, где накапливаются сообщения: требуется ли 30 минут ActionMailer для передачи сообщений в postscript (MTA, используемый OS X Server), 30 минут для postscript, чтобы начать отправку последнего сообщения, или 30 минут для postscript до завершить отправку последнего сообщения? Это даст вам хотя бы некоторое представление о том, где искать замедление.

Есть несколько конкретных вещей, на которые следует обратить внимание при отслеживании подобных проблем. Сначала проверьте /var/log/mail.log, чтобы увидеть, как сообщения обрабатываются постфиксом. Вам нужно будет проделать некоторую работу, чтобы восстановить, что произошло с каждым сообщением, найти записи журнала, относящиеся к нему, поскольку оно обрабатывается различными частями постфикса, и выяснить, что с ним произошло, где он проводит время между получением и отправкой по назначению.

Во-вторых, запустите sudo postqueue -p , чтобы показать все сообщения, которые postfix находится в очереди на данный момент, вместе с (если что произошло, когда он попытался отправить сообщение (примечание: теперь ваш сервер будет пытаться передать сообщения на несколько разных целевых серверов, некоторые из которых будут иметь задержки, ошибки и т. д.). застрять на несколько минут, часов или дней, ожидая, что что-то прояснится на другом конце.

На ум приходит одна конкретная вещь: убедитесь, что сервер может быстро разрешать DNS-имена. Если поиск не выполняется (и сообщения застревают, пока он пытается что-то найти), он может вызвать значительные задержки в системе.

запустите sudo postqueue -p , чтобы показать все сообщения, которые postfix находится в очереди на данный момент, а также (если возможно), что произошло, когда он пытался отправить сообщение (примечание: теперь ваш сервер будет пытаться для передачи сообщений на несколько разных целевых серверов, некоторые из которых будут иметь задержки, ошибки и т. д.; совершенно нормально, что несколько сообщений застревают на несколько минут, часов или дней, ожидая, что что-то прояснится на другом end).

На ум приходит одна конкретная вещь: убедитесь, что сервер может быстро разрешать DNS-имена. Если поиск не выполняется (и сообщения застревают, пока он пытается что-то найти), это может вызвать значительные задержки в системе.

запустите sudo postqueue -p , чтобы показать все сообщения, которые postfix находится в очереди на данный момент, а также (если возможно), что произошло, когда он пытался отправить сообщение (примечание: теперь ваш сервер будет пытаться для передачи сообщений на несколько разных серверов назначения, некоторые из которых будут иметь задержки, ошибки и т. д.; совершенно нормально, когда несколько сообщений застревают на несколько минут, часов или дней, ожидая, что что-то прояснится на другом конец).

На ум приходит одна конкретная вещь: убедитесь, что сервер может быстро разрешать DNS-имена. Если поиск завершается неудачно (и сообщения застревают, пока он пытается что-то найти), это может привести к значительным задержкам в системе.

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

На ум приходит одна конкретная вещь: убедитесь, что сервер может разрешить DNS имена быстро. Если поиск завершается неудачно (и сообщения застревают, пока он пытается что-то найти), это может привести к значительным задержкам в системе.

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

На ум приходит одна конкретная вещь: убедитесь, что сервер может разрешить DNS имена быстро. Если поиск не выполняется (и сообщения застревают, пока он пытается что-то найти), это может вызвать значительные задержки в системе.

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

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

1
ответ дан 5 December 2019 в 19:30

Теги

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