В Windows вам нужно будет использовать SMTP для отправки сообщения. Существует фальшивый sendmail для Windows , но для него все еще требуется SMTP-сервер.
Вы можете использовать сервер sendmail вашего провайдера, если он его предлагает, или вы можете установить его на локальном компьютере. 1 , 2 , 3 , 4
Поскольку вы используете Zend Framework, вы можете альтернативно использовать Zend_Mail для отправки через SMTP-сервер (Zend_Mail также может использовать sendmail, но, поскольку он не настроен, вы не можете использовать этот транспорт) , В этом случае см. Отправка по SMTP , SMTP-аутентификация и Защита транспорта SMTP .
Вот пример кода для отправки 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('user@domain')
->setSubject('Mail Test')
->setBodyText("Hello,\nThis is a Zend Mail message...\n")
->setFrom('sender@domain');
try {
$mail->send($transport);
echo "Message sent!<br />\n";
} catch (Exception $ex) {
echo "Failed to send mail! " . $ex->getMessage() . "<br />\n";
}
Также обратите внимание, что ваш ISP может вообще не требовать от вас авторизации, если вы отправляете с одного из их IP-адресов, но вам, вероятно, придется проходить аутентификацию с вашим именем пользователя и паролем, в этом случае вы захочет использовать TLS.