2013-12-02 4 views
3

Я создал сайт PHP, который будет локально размещен. Одна из функций - отправить электронное письмо с товарами из корзины покупок. При размещении в Интернете (для тестирования) функция email() отлично отлаживала отправку электронной почты.Отправка электронной почты с localhost server xampp/sendmail

Теперь я переношу сайт на локальный компьютер и не могу отправить электронное письмо.

Первоначально электронные письма поступали от [email protected], которые хорошо работали, хотя я бы с радостью настроил gmail или аналогичный для обработки отправки.

Я прочитал несколько руководств по настройке и первым попытался использовать sendmail и адрес gmail.

Мне интересно, есть ли что-то простое, что я пропустил при настройке ini-файлов.

Я отредактировал мой файл php.ini следующим образом:

[mail function] 
XAMPP: Comment out this if you want to work with an SMTP Server like Mercury 
SMTP = smtp.gmail.com 
smtp_port = 587 

For Win32 only. 
http://php.net/sendmail-from 
sendmail_from = [email protected] 

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly. 
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path. 
; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder) 
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder 
;sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe" 

; Force the addition of the specified parameters to be passed as extra parameters 
; to the sendmail binary. These parameters will always replace the value of 
; the 5th parameter to mail(), even in safe mode. 
;mail.force_extra_parameters = 

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename 
mail.add_x_header=Off 

; Log all mail() calls including the full path of the script, line #, to address and headers 
mail.log = "C:\xampp\php\logs\php_mail.log" 

, а затем мой sendmail.ini файл следующим образом:

[sendmail] 

smtp_server=smtp.gmail.com 
smtp_port=587 
error_logfile=error.log 
debug_logfile=debug.log 
[email protected] 
auth_password=password 
[email protected] 
+0

Если первая линия [mail_function] закомментировать? – Cups

+0

http://newcoderslife.wordpress.com/2012/06/27/how-to-use-xampps-mail-server-mercury-mail/ Приятный учебник, использующий почту с локального хоста через ртуть в XAMPP. – Ali

ответ

5

Попробуйте

sendmail.ini

[sendmail]

smtp_server=smtp.gmail.com 
smtp_port=465 
smtp_ssl=ssl 
error_logfile=error.log 
debug_logfile=debug.log 
auth_username=[email]@gmail.com 
auth_password=[email password] 
pop3_server= 
pop3_username= 
pop3_password= 
force_sender=[email]@gmail.com 
force_recipient= 
hostname=smtp.gmail.com 

php.ini

[Спецрассылки]

SMTP = smtp.gmail.com 
smtp_port = 465 
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 
mail.add_x_header=Off 
+2

Не забудьте перезапустить Apache –

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