2011-12-15 4 views
0

Я запускаю сервер на своей машине, но я не могу отправлять электронные письма с помощью функции mail() php. Сервер Mercury также работает в фоновом режиме.Не удается отправить письма с xampp localhost

Это конфигурация моего файла php.ini

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

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

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

И это sendmail.ini

; configuration for fake sendmail 

; if this file doesn't exist, sendmail.exe will look for the settings in 
; the registry, under HKLM\Software\Sendmail 

[sendmail] 

; you must change mail.mydomain.com to your smtp server, 
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup) 
; emails delivered via IIS's pickup directory cause sendmail to 
; run quicker, but you won't get error messages back to the calling 
; application. 

smtp_server=localhost 

; smtp port (normally 25) 

smtp_port=25 

; 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=local 

; 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=webname 
auth_password=webnamemail 

; if your smtp server uses pop3 before smtp authentication, modify the 
; following three lines 

;pop3_server= 
;pop3_username= 
;pop3_password= 

; to force the sender to always be the following email address, uncomment and 
; populate with a valid email address. this will only affect the "MAIL FROM" 
; command, it won't modify the "From: " header of the message content 

;[email protected] 

; sendmail will use your hostname and your default_domain in the ehlo/helo 
; smtp greeting. you can manually set the ehlo/helo name if required 

;hostname=localhost 

    ; 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" 

я упускаю что-то?

Редактировать: mail() Функция ничего не возвращает.

+3

'Я не могу отправлять электронные письма по почте()' - что происходит, когда вы пытаетесь? Любые ошибки, которые могут быть полезны? – DaveRandom

+0

У вас есть SMTP-сервер на той же машине? В противном случае первые параметры в sendmail.ini еще не установлены – Alfabravo

+0

Ничто не возвращается функцией почты. @Alfabravo Конечно, ртуть работает в фоновом режиме. – siannone

ответ

0

попробуйте использовать «сервер после публикации». Это сработало для меня.

Вам потребуется дополнительное приложение SMTP-сервера, потому что Xampp не поддерживает его. Загрузите версию «Post Cast Server»> 2. Откройте инструменты -> Настройки -> Система -> SMTP-сервер и установите имя хоста в качестве порта сервера localhost как 25. И запустите приложение с минимальным значением. Это определенно будет работать, потому что это сработало для меня, когда я столкнулся с одной и той же проблемой. Затем выберите почту и нажмите кнопку «Пуск», которая отправит вашу почту.

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