Связь с почтой посредством smtp
Руслан Абсалямов

Не могу понять как нпаисать, чтобы сообщение приходили не с хостинга, а с почты, через smtp. Смотрел уроки, так и не нашел конкретного ответа. Вот часть кода формы, где пользователь вбивает свой email

<?php
require_once '../sendmail.php';
$to=$email;
$subject="Запрос на восстановление пароля";
$body= "Здравствуйте $email ваш новый пароль: $string";
sendmail($to, $subject, $body);
?>

И уже файл. где привязка должна быть к почте, которая должна отправлять
```
<?php
function sendmail($to, $subject, $body, $headers)
{
$smtp_host='mail.hostland.ru';
$smtp_port=465;
$smtp_user='info@pergrowth.ru';
$smtp_pass='********';
$smtp_from='Growth';
$mail_from='info@pergrowth.ru';

$sock=fsockopen($smtp_host, $smtp_port, $erno, $errstr, 30);

$str=fgets($socs, 512);
if (!$sock) 
{
    printf("Socket is not created\n");
    exit(1);
}

smtp_msg($sock, "EHLO ". $_SERVER['SERVER_NAME']);
smtp_msg($sock, "AUTH LOGIN");
smtp_msg($sock, base64_encode($smtp_user));
smtp_msg($sock, base64_encode($smtp_pass));
smtp_msg($sock, "MALL FROM: <".$mail_from.">");
smtp_msg($sock, "RCPT TO: <".$to.">");
smtp_msg($sock, "DATA");

$headers="Subject: ".$subject."\r\n".$headers;
$data=$headers."\r\n\r\n".$body."\r\n.";

smtp_msg($sock, $data);
smtp_msg($sock, "QUIT");

fclose($sock);

}

function smtp_msg($sock, $msg)
{

 if (isset($_SERVER['debug'])&& $_SERVER['debug']) 
 {
    printf("Send from us: %s<br>", n12br(htmlspecialchars($msg)));
 }
 fputs($sock, "$msg\r\n");
 $str=fgets($sock, 512);
 if (!$sock) 
 {
    printf("Socket is down\n");
    exit(1);
 }
 else
 {
    if (isset($_SERVER['debug'])&& $_SERVER['debug']) 
    {
        printf("Got from server: %s<br>", n12br(htmlspecialchars($str)));
    }

    $e=exploda(", $str");
    $code = array_shift($e);
    $str=implode("", $e);

    if ($code>499) 
    {
        printf("Problems with SMTP conversation. <br><br>Code %d.<br>Message %s<br>", $code, $str);
        exit(1);
    }
 }

}
?>
```

1 чел.