Sendmail Wamp Php

Я всю ночь искал это в интернете, пытаясь найти решение об этом. Я установил wamp-сервер в Windows 8.1, и я пытаюсь отправить несколько писем с помощью sendmail ( http://glob.com.au/sendmail/ ) и моей учетной записи gmail

Когда я настраиваю sendmail для использования порта nº 465, я всегда получаю эту ошибку: Ошибка сокета # 10060Соединение вышло из строя

Если я пытаюсь использовать порт nº 587, я получаю эту строку в журнале ошибок: соединение закрыто. Изящно. Но не отправляется электронное письмо.

Это мой файл sendmail.ini

[sendmail] smtp_server=smtp.gmail.com ;I tried both: 587, 465 smtp_port=587 ; I tried: "blank, auto ssl, tls, none" smtp_ssl= error_logfile=error.log debug_logfile=debug.log auth_username=myaccoun@gmail.com auth_password=mypass hostname=localhost 

И это файл php.ini

 [mail function] smtp_port = 465 sendmail_path="C:\wamp\sendmail\sendmail.exe -t" mail.add_x_header = On 

ssl_module активен в apache, а php использует расширение php_open_ssl и php_socket.

Также я попытался использовать stunnel без каких-либо успехов

РЕДАКТИРОВАТЬ 27/01/2014

Я установил smtp_port = 465 и smtp_ssl = ssl на sendmail.ini. Кроме того, я установил, что sendmail.exe должен запускаться как Windows XP SP3. После этого, когда я запускаю sendmail.exe на консоли Windows, он отправляет письмо правильно. Однако, когда wamp пытается отправить почту, я получаю эту ошибку в журналах ошибок sendmail .: Ошибка сокета # 10060Соединение вышло из строя.

Это код, который я использую для проверки sendmail:

 <?php $email = "mymail@gmail.com"; $to = "mymail@gmail.com"; $subject = "Hi!"; $body = "Hi,How are you?"; $headers = 'From: ' .$email . "\r\n".'Reply-To: ' . $email. "\r\n".'X-Mailer: PHP/' . phpversion(); if (mail($to, $subject, $body, $headers)) echo("<p>Email successfully sent</p>"); else echo("<p>Email delivery failed</p>"); ?> по <?php $email = "mymail@gmail.com"; $to = "mymail@gmail.com"; $subject = "Hi!"; $body = "Hi,How are you?"; $headers = 'From: ' .$email . "\r\n".'Reply-To: ' . $email. "\r\n".'X-Mailer: PHP/' . phpversion(); if (mail($to, $subject, $body, $headers)) echo("<p>Email successfully sent</p>"); else echo("<p>Email delivery failed</p>"); ?> 

Наконец я нашел ответ.

Проблема в том, что sendmail должен запускаться как администратор. Это решение, помогающее любому в моей ситуации.

  1. Щелкните правой кнопкой мыши на sendmail.exe
  2. свойства
  3. Совместимость
  4. Изменение конфигурации для всех пользователей
  5. Выполнить как Windows XP SP 3
  6. Выполнить как администратор

И сохранить: D

2 дня, потерянные в этой ерунде 🙁

В качестве дополнения к принятому ответу:

Если вы выполняете функцию отправки почты в PHP, может возникнуть диалог, чтобы попросить вас запустить приложение «отправить почту» в качестве администратора. После нажатия «Да» появится диалоговое окно командной строки, и ничего не произойдет, и ваша страница будет зависать до тех пор, пока командная строка не будет закрыта. Функция почты даже вернет «True», но на самом деле сообщение не было отправлено.

Чтобы решить эту проблему, выполните инструкции так же, как и принятый ответ, и ТАКЖЕ запустите сервер (или IDE) в качестве администратора:

1) Щелчок правой кнопкой мыши по программе (например, сервер, ide, командная строка) и нажатие «Запуск от имени администратора»

2) ИЛИ Программа правого клика> свойства> совместимость> Отметьте выполнение как admin

Например, если вы используете PHP на встроенном сервере, запустите командную строку как администратор и запустите сервер как обычно, используя

 C:\wamp\bin\php\php5.5.12\php.exe -S localhost:80 -t C:\Users\path\to\rootFolder 

Конечно, измените пути файлов в соответствии с вашими потребностями.

Надеюсь, это поможет кому-то !!! Пройденный возраст!

Проблема в том, что sendmail должен запускаться как администратор. Это решение, помогающее любому в моей ситуации.

  1. Щелкните правой кнопкой мыши на sendmail.exe
  2. свойства
  3. Совместимость
  4. Изменение конфигурации для всех пользователей
  5. Выполнить как Windows XP SP 3
  6. Выполнить как администратор
  7. если вы используете gmail, вам нужно создать новый пароль «Ваши пароли, специфичные для вашего приложения»

Устранение неполадок совместимости

В Windows 10 я обнаружил, что единственным способом работы был запуск средства устранения неполадок совместимости.

  1. Щелкните правой кнопкой мыши на sendmail.exe
  2. Нажмите «Свойства»
  3. Перейдите на вкладку Совместимость.
  4. Нажмите «Запустить средство устранения неполадок совместимости».
  5. Пусть окна исправят это автоматически.