2014-07-11 3 views
0

Phpmailer неожиданно выбрасывает это сообщение, когда работала нормально неделю назад: «SMTP ERROR: Не удалось подключиться к серверу: {материал на испанском языке говорит о тайм-ауте или ошибке приема ответа} (10060). ОШИБКА: Ошибка SMTP connect(). "PHPMailer некоторое время наводил штраф, а затем: SMTP ERROR: Не удалось подключиться к серверу: (10060) ОШИБКА: Ошибка SMTP connect()

Я попробовал следующее:

  1. Увеличение таймаута вар до 60 секунд
  2. Измените порты, используемые в скрипте: 25, 26, 587
  3. Убедитесь, что эти порты были открыты в брандмауэре и Fortinet
  4. Переключение между использованием и не использованием SSL/TLS (и определенный порт 465)
  5. Раскоментируйте php.ini строку о SSL и перезагрузки (очень комментировал в виде раствора)
  6. Проверить, конечно, пользователь, пароль и почтовый сервер

Моя окружающая среда:

  1. Локальный сервер управляет PHP (и сайт)
  2. Удаленный поставщик управляет SMTP-сервер
  3. Провайдер отлично работает с Outlook
  4. Сценарий работает нормально в локальном хосте (мой компьютер, а не на сервере)

Мой код:

$mail = new PHPMailer(); 

$mail->IsSMTP(); 
$mail->SMTPDebug = 4; 
$mail->Timeout =60; 
$mail->SMTPAuth = true; 
$mail->Host = "mail.domain.com.mx"; 
$mail->Username = "[email protected]"; 
$mail->Password = "123456"; 
$mail->Port = 26; 

ПРИМЕЧАНИЕ: Мы не могли проверить телнет, поскольку блокируется сервером, но при тестировании пинг он ответил правильный IP

Любой walktrought?

+1

ping сообщит вам только, включен ли аппарат и отвечает на ICMP-пакеты. Это ничего не сообщит вам о статусе службы (например, smtp) на машине. Вам нужно будет выяснить, какой способ проверить порты на удаленном конце. например попробуйте fsockopen() для различных портов электронной почты и посмотрите, что там происходит. –

+0

Спасибо @MarcB Это хорошая идея использовать fsockopen. Я получаю такую ​​же ошибку следующим образом: _10060 :: Ошибка при запросе данных_ – Uriel

+0

Обычно это объясняется отсутствием сервера, сбоем DNS или блоками брандмауэра. Использование fsockopen ничем не отличается от того, что делает PHPMailer. Стоит удалить PHP из микса - попробуйте telnetting для разных портов. Если это не сработает, PHP тоже не будет. – Synchro

ответ

0

Да, @MarcB, @Synchro, и вы были правы: ping не помог устранить это. Telnet и tracert - инструменты для измерения.

И да @ mti2935. Фактически, это был заблокированный IP-адрес, но обнаружить его было нелегко, потому что остальные службы работали нормально.

Хостинг-провайдер разблокировал наш IP-адрес и добавил его в белый список (beacuse is fixed).

Спасибо всем!

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