2013-05-06 15 views
0

Я хочу отправить электронное письмо с использованием php-кода, я использую wampserver.Отправить электронное письмо от php-кода

ошибка появляется:

mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\Newsletter1\index.php on line 29 

Мой файл 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] 

Есть ли более конфигурации делать?

Update

I'am с помощью функции электронной почты, чтобы отправить бюллетень абоненту и я протестируем локально, то я буду тестировать код на производственной среде

+0

нет почтовый_сервера не установлен на вашем компьютере – sebataz

ответ

1

вам нужен SMTP почтового сервера демон работает на локальном хосте , Если вы используете хост unix и не хотите настраивать полный SMTP-агент, попробуйте удалить часть конфигурации SMTP, поэтому напрямую используйте sendmail. Из документов:

Реализация почты в Windows() во многом отличается от реализации Unix. Во-первых, он не использует локальный двоичный код для составления сообщений, а работает только с прямыми сокетами, что означает, что MTA необходимо прослушивать в сетевом сокете (который может либо на локальном, либо на удаленном компьютере).

+0

загрузить почтовый сервер? –

+0

Вы используете Windows на сервере? Если это так, самый простой способ - использовать SMTP-сервер IIS, см. Эту статью [Microsoft TechNet] (https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/e4cf06f5-9a36-474b-ba78-3f287a2b88f2 .mspx? произв = истина). Если вы используете Linux/BSD, вы можете использовать Postfix (который является реальным SMTP-агентом) или напрямую отправлять из 'mail()' (без SMTP) благодаря средства sendmail. Если вы хотите отправить большой объем сообщений электронной почты (списки рассылки, ** надеюсь, что нет спама **), тогда вам определенно нужен агент SMTP. –

+0

Если это решает вашу проблему, пожалуйста, рассмотрите [отметьте этот ответ как принято] (http://meta.stackexchange.com/questions/16721/how-does-accept-rate-work/65088#65088) –

0

Если вы работаете на тест environement посмотреть на этой ссылке: http://www.toolheap.com/test-mail-server-tool/

Это маленькое приложение будет имитировать SMTP-сервер на вашем компьютере.

Это дает вам некоторое представление о том, как тестировать и отлаживать функции почты для ваших php-приложений.

+0

Обратите внимание, что это (как говорит название) является ** test ** сервером, вероятно, непригодным для производственных сред. –

+0

ну, я бы не использовал WAMP в качестве производственной среды – sebataz

+0

Вы никогда не знаете ... Кроме того, StackOverflow использует Windows на серверах приложений, хотя обратный прокси. –

0

Проверьте свой брандмауэр, возможно, php заблокирован для подключения сервера. Или попробуйте изменить localhost на 127.0.0.1.

0

Вам нужен сервер smtp на вашем сервере, или вам нужно подключиться к внешнему smtp-серверу для отправки электронной почты.

для подключения через внешний SMTP можно использовать

http://pear.php.net/package/Mail

здесь ответ на свой вопрос, а также с примером того, как использовать его.

smtp configuration for php mail