2012-01-28 2 views
2

Я создал некоторые формы, используя zendframework на моей локальной машине, которые отправляют содержимое формы по электронной почте.Я устанавливаю sendmail в php.ini на wampserver 2.1 для отправки данных формы на локальную машину?

Я хотел бы проверить функциональность локально и прочитать некоторые сообщения о настройке файла php.ini для этого, но не уверен, что это правильный метод?

может кто-нибудь помочь мне с этим, большое спасибо

ответ

1

В Windows вы должны будете использовать SMTP для отправки сообщения. Есть минус fake sendmail for Windows, но для него по-прежнему требуется SMTP-сервер.

Вы можете использовать сервер sendmail вашего ISP, если они предлагают его, или вы можете установить его на локальном компьютере. 1, 2, 3, 4

Поскольку вы используете Zend Framework, вы можете использовать в качестве альтернативы Zend_Mail для отправки через сервер SMTP (Zend_Mail также можно использовать Sendmail, но так как он не настроен, вы не можете использовать это транспорт). В этом случае см. Sending via SMTP, SMTP Authentication и Securing SMTP Transport.

Вот пример кода для отправки SMTP-сообщения с защитой AUTH и TLS.

<?php 

require_once 'Zend/Mail.php'; 
require_once 'Zend/Mail/Transport/Smtp.php'; 

$config = array('ssl' => 'tls', 
        'port' => '465', // 25 if no ssl 
        'auth' => 'login', 
        'username' => 'user', 
        'password' => 'password'); 

$transport = new Zend_Mail_Transport_Smtp('smtp.example.com', $config); 

$mail = new Zend_Mail(); 
$mail->addTo('[email protected]') 
    ->setSubject('Mail Test') 
    ->setBodyText("Hello,\nThis is a Zend Mail message...\n") 
    ->setFrom('[email protected]'); 

try { 
    $mail->send($transport); 
    echo "Message sent!<br />\n"; 
} catch (Exception $ex) { 
    echo "Failed to send mail! " . $ex->getMessage() . "<br />\n"; 
} 

Также обратите внимание, что ваш провайдер может не требуют авторизовать на всех, если вы отправляете от одного из своих IP-адресов, но вы, вероятно, должны аутентифицировать с вашим именем пользователя и паролем, в этом случае вам будет хотеть использовать TLS.

+0

извините за задержку в моем комментарии! Большое спасибо за этот очень полезный ответ, я думаю, что TLS будет работать для меня хорошо. Еще раз спасибо.. – Ledgemonkey