php mail с помощью sendmail.exe - PullRequest
0 голосов
/ 03 мая 2009

Я использую XAMPP на локальном хосте Windows VISTA m / c ... используя gmail в качестве сервера smpt

Я пытаюсь отправить письмо, используя простой скрипт PHP

вот подробности конфигурации на sendmail.ini (у меня есть sendmail.exe и другие 2 dll в этом каталоге)

smtp_server=smtp.gmail.com
; smtp port (normally 25)

smtp_port=465

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

default_domain=localhost

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

error_logfile=error.log

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

debug_logfile=debug.log

; if your smtp server requires authentication, modify the following two lines

auth_username=xxxxxxx
auth_password=xxxxxx

hostname=localhost

and I have changed the php.ini

[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25

; For Win32 only.
;sendmail_from = xxxxx

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"

и как только я вызываю скрипт, он начинает ждать ... localhost ... вот файл debug.log ...

09/05/02 17:34:41 ** --- СООБЩЕНИЕ НАЧИНАЕТСЯ --- 09.05.02 17:34:41 ** Кому: xxx@yahoo.com 05.09.02 17:34:41 ** Тема: Результаты представления формы 09/05/02 17:34:41 ** От: Мой веб-сайт 09/05/02 17:34:41 ** Reply-To: xxx@gmail.com 09.05.02 17:34:41 ** 05.09.02 17:34:41 ** Имя: ххх 05.09.02 17:34:41 ** E-Mail: xxx@yahoo.com 09/05/02 17:34:41 ** Сообщение: эй, тестовое сообщение 09.05.02 17:34:41 ** 09.05.02 17:34:41 ** 09/05/02 17:34:41 ** --- СООБЩЕНИЕ КОНЕЦ --- 05.09.02 17:34:41 ** Подключение к smtp.gmail.com:465 09.05.02 17:34:41 ** Подключено.

Я новичок в PHP и хотел бы знать, есть ли лучший способ сделать почту ... Я не нахожусь для HTML / составных писем с вложением сейчас ... Также я должен быть в состоянии проверить на локальном хосте без установленного сервера SMTP. Я хотел бы использовать GMAIL для тестирования. Thnks

Ответы [ 4 ]

1 голос
/ 03 мая 2009

Я настоятельно рекомендую вам использовать библиотеку, например PHPMailer . Вот их пример Gmail .

Еще одна хорошая библиотека (которую я не использовал) - SwiftMailer . Вот их пример Gmail .

0 голосов
/ 07 апреля 2017

Отправить письмо - GMAIL

1) Остановить сервер.

2) Изменить эти строки

[XAMPP -> PHP -> php.ini]

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

[XAMPP -> SENDEMAIL -> sendmail.ini]

smtp_port=587 
auth_username= xxxx@gmail.com 
auth_password= xxxx 
smtp_ssl=auto

3) Запустить сервер

4) Отправить тест по электронной почте

<?php $to      = 'youremail@xxxx.com'; $subject = 'Test Email
 Email'; $message = 'Hello'; $headers = 'From:
 test@test.com' . "\r\n" .
     'Reply-To: test@test.com' . "\r\n" .
     'X-Mailer: PHP/' . phpversion();

 echo print_r(mail($to, $subject, $message, $headers),true); ?>
0 голосов
/ 03 мая 2009

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

0 голосов
/ 03 мая 2009

GMAIL нужен SSL afaik.

бесплатных (и, вероятно, «хороших») почтовых библиотек php, которых я знаю Zend_Mail и Swiftmailer .

...