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