Автоматическая отправка писем через php?



@Tink312

Добрый день, Помогите составить код php для отправки сообщения на почту. Условия такие нужно сделать так что бы письмо отправлялось автоматически без участия пользователя, при заходе на сайт. Сайт локальный в нашей сети. Я новичок в этом деле и мне очень трудно разобраться в этом, а результат нужен сейчас… Нашел лишь способы с манипуляциями со стороны пользователя, т.е нажать кнопку, заполнить форму и отправить письмо и тд. Заранее благодарю


Решения вопроса 0


Ответы на вопрос 2



@DmitriyEntelis

Самое простое и надежное — использовать внешний сервис.
Очень советую mailgun



@Primoos

После проверки логина и пароля, но перед переадресацией на главную страницу:

class mailTo {

    public function sendMail($email,$message,$subject)
    {
        $to  = $user_email@from_db;      
        $subject="=?utf-8?b?". base64_encode($subject) .'?=';
        $fromMail="admin@example.ru"; //от кого
        $fromName="example.ru"; //имя сайта
        $date = date(DATE_RFC2822); /дата отправки, это сервисная дата, она не отображается в теле письма
        $messageId='<'.time().'-'.md5($fromMail.$to).'@'.$_SERVER['SERVER_NAME'].'>';
        $headers="MIME-Version: 1.0" . "\r\n";
        $headers .= "Content-type: text/html; charset=utf-8". "\r\n";
        $headers .= "From: ". $fromName ." <". $fromMail ."> \r\n";
        $headers .= "Date: ". $date ." \r\n";
        $headers .= "Message-ID: ". $messageId ." \r\n";

        return mail($to, $subject, $message, $headers); 
    }
}

Пример со стакоуверфлоу.

У меня сделано так:

$mail = mysqli_fetch_assoc($sql);

        $messageId = time();
        $to      = ''.$mail['user_email'].'';
	$subject="заголовок письма";
	$message="<HTML><head><META content="text/html; charset=UTF-8" http-equiv=Content-Type><style>BODY {FONT-FAMILY: Verdana; FONT-SIZE: 11px} TD {FONT-SIZE: 10px}</style></head>
					<BODY text=#000000 leftMargin=0 topMargin=0 rightMargin=0 bottomMargin=0 marginheight=0 marginwidth=0><center>
					<B>Вы успешно авторизовались на сайте ".$date.' в '.$time.'</B></center><BR><BR><BR><BR><BR> сообщение сгенерировано автоматически, отвечать на него не нужно.<BR><BR>
					если это были не вы, обратитесь к <a href="">админу</a></body></html>';
	$headers="From: admin@example.com" . "\r\n" .
   	 			   'X-Mailer: PHP/' . phpversion();
   	$headers="MIME-Version: 1.0" . "\r\n";
        $headers .= "Content-type: text/html; charset=utf-8". "\r\n";
        $headers .= "From: admin@example.com". "\r\n";
        $headers .= "Date: ". $date ." \r\n";
        $headers .= "Message-ID: ". $messageId ." \r\n";
 	imap_mail($to, $subject, $message, $headers);
        header("Location: index.php"); exit();

Но падают в спам.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *