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

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

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

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

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

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