2010-09-09 5 views
3

Я разрабатываю приложение php и нуждаюсь в проверке функциональности отправки писем. Проблема в том, что я использую среду разработки (wamp on windows), поэтому я предполагаю, что у меня нет доступа к smtp или почтовому серверу.App хочет отправить письмо с localhost

Похоже, мне может потребоваться установить отдельное приложение, которое будет действовать как мой почтовый сервер. Каков самый простой способ сделать это (я на окнах работает на wamp), и есть ли другая альтернатива, как публичный сервер, который будет использоваться для тестирования разработчиками (бесплатно, потому что я, вероятно, буду использовать его всего 10 раз, функциональность изменена). Тогда, я думаю, есть настройки, которые мне нужно изменить для моей среды разработки? Любой может пролить свет на это, пожалуйста.

Thanks

ответ

2

Вам нужен SMTP-сервер. Я использую PostCast Server, который является бесплатным и делает это необходимым.

3

XAMPP прилагается к Mercury для обработки электронных писем. Он может разговаривать с серверами SMTP через SSL, если это необходимо, и работает хорошо для меня.

+0

Похоже, я сделал плохой выбор, используя wamp. – vla

+0

@ vla не имеет большого значения, должно быть довольно легко добавить Mercury. Установка его отдельно и указание «localhost», поскольку SMTP-сервер в php.ini должен выполнять эту работу. –

0

Вы пробовали PHP функцию

mail($to, $subject, $body, $headers) 

http://php.net/manual/en/function.mail.php

+3

Вам по-прежнему нужен почтовый сервер, установленный на локальном компьютере. –

1

Вы пробовали создать поддельный аккаунт GMail, а затем отправки сообщений электронной почты через SMTP-сервер? Вот пример - для меня отлично работает.

http://phpmailer.worxware.com/index.php?pg=exampleagmail

0

XAMPP поставляется с "фальшивой" Sendmail программы. Если вы используете XAMPP, вы можете использовать Sendmail, как так: (игнорировать предупреждение «Для Unix только», он прекрасно работает на Windows,)

[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].com 

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

Sendmail должен иметь sendmail.ini с ним; он должен быть настроен таким образом:

# Example for a user configuration file 

# Set default values for all following accounts. 
defaults 
logfile "C:\xampp\sendmail\sendmail.log" 

# Mercury 
#account Mercury 
#host localhost 
#from [email protected] 
#auth off 

# A freemail service example 
account ACCOUNTNAME_HERE 
tls on 
tls_certcheck off 
host smtp.gmail.com 
from EMAIL_HERE 
auth on 
user EMAIL_HERE 
password PASSWORD_HERE 

# Set a default account 
account default : ACCOUNTNAME_HERE 

Конечно, заменить ACCOUNTNAME_HERE с произвольным именем учетной записи, замените EMAIL_HERE с действительной электронной почтой (например, Gmail или Hotmail), и заменить PASSWORD_HERE с паролем к вашей электронной почте. Теперь вы можете отправлять почту. Не забудьте перезапустить Apache (из панели управления или пакетных файлов), чтобы изменения в PHP работали.

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