Задать вопрос

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

Добрый день, Помогите составить код php для отправки сообщения на почту. Условия такие нужно сделать так что бы письмо отправлялось автоматически без участия пользователя, при заходе на сайт. Сайт локальный в нашей сети. Я новичок в этом деле и мне очень трудно разобраться в этом, а результат нужен сейчас... Нашел лишь способы с манипуляциями со стороны пользователя, т.е нажать кнопку, заполнить форму и отправить письмо и тд. Заранее благодарю
  • Вопрос задан
  • 2543 просмотра
Подписаться 2 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
DmitriyEntelis
@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();

Но падают в спам.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы