Функция PHP mail() отправляет электронное письмо, но для его отображения требуется более 10 минут.

Итак, мой пользователь регистрируется из приложения Android на своем телефоне, и после успешной регистрации я запускаю письмо, которое будет отправлено на зарегистрированный адрес электронной почты с кодом активации из моего PHP-скрипта. Вот строка кода, которую я использую, которая довольно тривиальна.

mail($to, $subject, $message, $headers);

Почта каждый раз отправляется правильно на правильный адрес электронной почты, но проблема в том, что электронная почта появляется в Gmail, Hotmail или Yahoo более чем через 10 минут. Такая задержка получения кода активации для приложения «для меня» неприемлема.

Что может уменьшить эту задержку и сделать это если не мгновенным, то намного быстрее. Любые идеи.

Спасибо за вашу помощь!!


person Aakash    schedule 28.10.2010    source источник
comment
Проверьте заголовки сообщения Received:, чтобы быть уверенным, но похоже, что у вашего хостинг-провайдера очень медленный почтовый сервер.   -  person Wooble    schedule 28.10.2010
comment
Вы на GoDaddy? Потому что у меня была такая же проблема на GoDaddy.   -  person William Linton    schedule 28.10.2010
comment
Да, я на Godaddy. Как вы решили проблему?   -  person Aakash    schedule 28.10.2010
comment
Получите провайдера с более быстрой почтовой очередью или запустите свой собственный почтовый сервер на выделенном ящике. Виртуальные выделенные серверы сегодня дешевы и необходимы для запуска стабильных и безопасных веб-приложений, но, очевидно, вам нужно научиться администрировать сервер.   -  person bobince    schedule 28.10.2010
comment
СПАСИБО за всю вашу помощь, ребята! Я думаю, что выделенный сервер - это путь, тогда...   -  person Aakash    schedule 28.10.2010


Ответы (5)


У меня была эта проблема с общим хостингом GoDaddy, используя их SMTP-сервер. Это произошло потому, что SMTP-сервер был общим, открытым ретранслятором, и с учетом объема проходящих через него сообщений задержка также составляла примерно 10 минут.

Вы используете виртуальный хостинг/GoDaddy? Какое реле SMTP вы используете?

РЕДАКТИРОВАТЬ: После недавнего тщательного исследования я обнаружил, что нет никакого способа предоставить моей аудитории высококачественный сервис SMTP (т. е. ‹ 10 минут для электронной почты) на виртуальном хостинге GoDaddy. Это невероятно расстраивает. Похоже, есть варианты купить выделенный хостинг у GoDaddy (~ 300 долларов в год) или сменить провайдера.

person barfoon    schedule 28.10.2010
comment
Я использую GoDaddy, но как узнать, является ли это виртуальным хостингом? Также, где я могу найти информацию о реле SMTP? Кроме функции mail(), я ничего не использую в PHP-скрипте. - person Aakash; 28.10.2010
comment
Вот ответ, который я получил от GoDaddy: - person barfoon; 28.10.2010
comment
В настоящее время единственным SMTP-сервером, доступным для использования в наших учетных записях хостинга, является relay-hosting.secureserver.net. Вы не сможете использовать исходящий сервер GMail с нашими учетными записями общего хостинга. Кроме того, поскольку это общий SMTP-сервер, нередки небольшие задержки при отправке электронных писем. Если эти электронные письма получены в течение 60 минут после их отправки, это находится в пределах допустимых временных рамок для общего сервера. Если вы столкнулись с задержкой более 60 минут или ошибками, связанными с ретрансляцией SMTP, отправьте ответ. - person barfoon; 28.10.2010
comment
В этом есть смысл. Теперь я понимаю, что такое задержка. Спасибо за разъяснения. - person Aakash; 28.10.2010
comment
ИМХО, используя GoDaddy, вы получаете то, что заслуживаете: дешевый сервис для миллионов пользователей == плохая бесполезная поддержка и раздражающие проблемы, подобные описанным в этом вопросе/ответе. По сходным ценам вы можете найти более мелкие хостинговые компании, которые более заинтересованы в поддержке своих клиентов, такие как qualityhostonline.com и более охотно приспосабливаться к потребностям своих клиентов. - person Marco Demaio; 22.06.2011

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

person Marc B    schedule 28.10.2010

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

person Darren    schedule 28.10.2010

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

person Breezer    schedule 28.10.2010
comment
вы можете использовать curl для входа в свою учетную запись электронной почты и отправлять свои электронные письма по электронной почте, но это потребует некоторого кодирования с вашей стороны ... если вы решите сменить провайдера, могу ли я порекомендовать one.com довольно дешево и быстро использовали их в течение 3 лет, и они никогда не подводил меня - person Breezer; 28.10.2010
comment
Я хочу попробовать curl, прежде чем переходить на выделенный сервер. - person Aakash; 28.10.2010

Попробуйте этот сервис, ребята... потрясающая интеграция API. www.postmarkapp.com После долгих поисков я интегрировал службу электронной почты для активации учетной записи приложения Android в Postmark и работает очень быстро. Письма начали отправляться пользователям мгновенно, а задержка сократилась с дурацких 10 или более минут Godaddy до одной минуты. Я очень рекомендую это.

person Aakash    schedule 02.03.2011