php smtp yandex отправка
<?php // Работает
function sendEmailViaSMTP($to, $subject, $body, $from = 'example@yandex.ru', $fromName = 'Backup for worktime') {
$smtp = fsockopen('ssl://smtp.yandex.ru', 465, $errno, $errstr, 30);
//$smtp = fsockopen('ssl://s62.nska.net', 465, $errno, $errstr, 30); // 'ssl://s62.nska.net'
if (!$smtp) {
return "Ошибка подключения к SMTP-серверу: $errno - $errstr";
}
$response = fread($smtp, 1024);
if (strpos($response, '220') === false) {
return "Ошибка при подключении к SMTP-серверу: $response";
}
fputs($smtp, "HELO smtp.yandex.ru\r\n");
$response = fread($smtp, 1024);
if (strpos($response, '250') === false) {
return "Ошибка при приветствии SMTP-сервера: $response";
}
fputs($smtp, "AUTH LOGIN\r\n");
$response = fread($smtp, 1024);
if (strpos($response, '334') === false) {
return "Ошибка при аутентификации: $response";
}
fputs($smtp, base64_encode('example@yandex.ru') . "\r\n");
$response = fread($smtp, 1024);
if (strpos($response, '334') === false) {
return "Ошибка при отправке имени пользователя: $response";
}
fputs($smtp, base64_encode('password') . "\r\n");
$response = fread($smtp, 1024);
if (strpos($response, '235') === false) {
return "Ошибка при отправке пароля: $response";
}
fputs($smtp, "MAIL FROM: <$from>\r\n");
$response = fread($smtp, 1024);
if (strpos($response, '250') === false) {
return "Ошибка при указании отправителя: $response";
}
fputs($smtp, "RCPT TO: <$to>\r\n");
$response = fread($smtp, 1024);
if (strpos($response, '250') === false) {
return "Ошибка при указании получателя: $response";
}
fputs($smtp, "DATA\r\n");
$response = fread($smtp, 1024);
if (strpos($response, '354') === false) {
return "Ошибка при начале передачи письма: $response";
}
fputs($smtp, "From: $fromName <$from>\r\n");
fputs($smtp, "To: <$to>\r\n");
fputs($smtp, "Subject: $subject\r\n");
fputs($smtp, "\r\n");
fputs($smtp, $body . "\r\n");
fputs($smtp, ".\r\n");
$response = fread($smtp, 1024);
if (strpos($response, '250') === false) {
return "Ошибка при отправке письма: $response";
}
fputs($smtp, "QUIT\r\n");
fclose($smtp);
return "Письмо успешно отправлено.";
}
$to = 'MailTo@ya.ru';
$subject = 'Тема письма5';
$body = 'Текст письма5';
$result = sendEmailViaSMTP($to, $subject, $body);
echo $result;