PHP не отправить HTML шаблон на электронную почту - PullRequest
0 голосов
/ 02 мая 2020

моя проблема в том, что при регистрации пользователя генерируется случайный код, который отправляется на электронное письмо. Я создал шаблон для электронных писем, который содержит основной текст c вместе со стилями, это электронное письмо только изменяет ссылку базового c с сгенерированный код. Так что все должно работать так, как я хотел, но в настоящее время при регистрации приходит электронное письмо, но без стилей, которые я дал. Коды ниже.

$to = $email;
$subject = "Registration Confirmation";

$link = "<a href='".DIR."/activation?x=$latest_id&y=$activasion'>".DIR."/activation?x=$latest_id&y=$activasion</a>";

$headers = "MIME-Version: 1.0" . "\r"; 
$headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";

$headers .= 'From: '.$from."\r\n".
            'Reply-To: '.$from."\r\n" .
            'X-Mailer: PHP/' . phpversion();

$message = file_get_contents("inc/user_register.html");
$message = str_replace('[link]', $link, $message);

mail($to, $subject, $message, $headers);
header("location: /login?action=joined");

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

ПРОБЛЕМА РЕШЕНА

Я использовал шрифт импорта с веб-сайта шрифтов Google. Я удалил его из стилей и работал так, как хотел.

0 голосов
/ 02 мая 2020

Вам не хватает \ n в первых заголовках []. Вы также можете попробовать этот способ для настройки заголовка.

// To send HTML mail, the Content-type header must be set
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';

// Additional headers
$headers[] = 'To: Mary <mary@example.com>, Kelly <kelly@example.com>';
$headers[] = 'From: Birthday Reminder <birthday@example.com>';
$headers[] = 'Cc: birthdayarchive@example.com';
$headers[] = 'Bcc: birthdaycheck@example.com';

// Mail it
mail($to, $subject, $message, implode("\r\n", $headers));

...