2013-03-28 3 views
4

Я успешно установил веб-приложение с помощью WAMPSERVER на рабочем столе, используемом несколькими людьми изнутри, это использовало PHPMailer для внутреннего SMTP-сервера без шифрования или аутентификации, и это сработало.PHPMailer Hangs on Send

Этот рабочий стол разбился, и я перешел на «новый» рабочий стол. У меня была настройка SVN, поэтому я даже использовал большинство файлов и конфигурацию. Одно из отличий, которое может иметь значение, - это то, что старый рабочий стол был 64-битным, а новый - 32-битным. Это означает, что я использую разные версии WAMPSERVER.

Почтовый адрес просто висит. Я не получаю ошибку PHP или тайм-аут PHP. Я просто не дохожу до конца моего сценария. Сумасшедшая часть об этом заключается в том, что она работает с аутентификацией, ssl и gmail. Он просто не будет работать с лишним простым случаем, в котором я нуждаюсь.

Это работает:

<?php 
require('class.phpmailer.php'); 
$mail=new PHPMailer(); 
$mail->ISSMTP(); 
$mail->Host='smtp.gmail.com'; 
$mail->Subject='test subj'; 
$mail->Body='the body email test'; 
$mail->SMTPDebug = 1;      // enables SMTP debug information (for testing) 
$mail->SMTPAuth = true;     // enable SMTP authentication 
$mail->SMTPSecure = "ssl";     // sets the prefix to the servier 
$mail->Host  = "smtp.gmail.com";  // sets GMAIL as the SMTP server 
$mail->Port  = 465;     // set the SMTP port for the GMAIL server 
$mail->Username = "[email protected]"; // GMAIL username 
$mail->Password = "mypassword";   // GMAIL password 
$mail->AddAddress('[email protected]', 'John Doe'); 
$mail->SetFrom('[email protected]', 'First Last'); 
$mail->Send(); 
?> 

это раньше, но теперь не:

<?php 
require('class.phpmailer.php'); 
$mail=new PHPMailer(); 
$mail->ISSMTP(); 
$mail->Host='smtp.internal.com'; 
$mail->Subject='test subj'; 
$mail->Body='the body email test'; 
$mail->SMTPDebug = 1;      // enables SMTP debug information (for testing) 
$mail->Port  = 25;     // set the SMTP port for the GMAIL server 
$mail->AddAddress('[email protected]', 'John Doe'); 
$mail->SetFrom('[email protected]', 'First Last'); 
$mail->Send(); 
?> 

Единственное, что я получаю от отладки является

КЛИЕНТ -> SMTP: EHLO thedesktophostname

Ошибок не отображается на странице и ничего в журнале apache, где я обычно получаю ошибки PHP, если они не отображаются.

Я могу установить telnet на хост с рабочего стола на порт 25 и даже ввести команду EHLO и получить хороший ответ от сервера.

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

Пожалуйста, помогите. Благодарю.

+0

Можете ли вы прочитать журналы SMTP-сервера? – Wrikken

+0

Я не могу. И поскольку я могу подключиться к telnet и выпустить команду, на которую она зависает, и получить ответ, я не думаю, что это проблема. Кроме того, это работало до того, как я перешел на другую версию WAMPSERVER на другом компьютере. Я не уверен на 100%, но я думаю, что это был 64-битный 2.4.2 apache и теперь 32-бит 2.2.22. Версия PHP должна быть одинаковой. – user2221400

+0

Далее в строке: можете ли вы 'fsockopen()' подключиться к серверу smtp и что вы получите, если вы вручную напишите строку EHLO? – Wrikken

ответ

2

, к сожалению, это, вероятно, не будет когда-либо помочь кому-то, кто имеет такую ​​же проблему, но я был в состоянии получить все работает, только изменяя порт для 465.

+0

Ха, это была моя проблема. Если бы он установил 993, но это для TLS. –

8

Угон пост, чтобы сказать, что я была такая же проблема но установил порт на 465, не установив SMTPSecure на 'ssl' в примере, когда его набор TLS по умолчанию

+0

настройка smtpsecure на ssl исправила его и для меня, я использую hostgator. –

+0

Спасибо! Отправка с localhost через zoho также требовала этой конфигурации. – AaronDanielson

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