Я успешно настроил веб-приложение с помощью WAMPSERVER на рабочем столе, используемом несколькими людьми изнутри, это использовало PHPMailer для внутреннего SMTP-сервера без шифрования или аутентификации, и это сработало.
Этот рабочий стол разбился, и я перешел на «новый» рабочий стол. У меня была настройка 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 = "myemail@gmail.com"; // GMAIL username $mail->Password = "mypassword"; // GMAIL password $mail->AddAddress('toemail@supersecret.com', 'John Doe'); $mail->SetFrom('something@gmail.com', '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('myaddress@somewhere.com', 'John Doe'); $mail->SetFrom('someaddress@mightbereal.com', 'First Last'); $mail->Send(); ?>
Единственное, что я получаю от отладки, – это
КЛИЕНТ -> SMTP: EHLO thedesktophostname
На странице не отображаются ошибки и ничего в журнале apache, где я обычно получаю ошибки PHP, если они не отображаются.
Я могу установить telnet на хост с рабочего стола на порт 25 и даже ввести команду EHLO и получить хороший ответ от сервера.
Я не помню эту проблему раньше, хотя, возможно, я ее уже решил. Я не мог найти ничего, что помогло бы здесь или в Google.
Пожалуйста помоги. Благодарю.
Убив сообщение, чтобы сказать, что у меня была такая же проблема, но установил порт на 465, не установив SMTPSecure на «ssl» в примере, установленном его TLS по умолчанию
к сожалению, это, вероятно, никогда не поможет никому другому, у кого есть эта же проблема, но я смог получить все, просто изменив порт на 465.