2012-07-02 2 views
7

Я пытаюсь отправить электронное письмо с помощью PHP. Это электронная почта электронной почты с сотнями строк кода HTML (в файле email.html). Я не хочу писать весь HTML-код в PHP. Как мне это сделать? Является ли мой метод ниже правильным? Любая лучшая альтернатива?Отправка HTML-письма с использованием PHP: включая файл HTML

Мой код (PHP):

$email_text = file_get_contents('email.html'); 
$headers = "From:[email protected]"; 

mail('[email protected]', 'Hello', $email_text, $headers); 

Моя электронная почта файла (email.html):

<html> 
    <body> 
      <a href="http://google.com">Hello</a> 
    </body> 
</html> 

Моя проблема: Я хочу, чтобы отправить HTML электронной почты, который будет отображать содержимое HTML , Содержимое HTML берется из файла, называемого email.html.

Примечание 1: Я упростил приведенный выше код только для ясности. Исходный код имеет заголовки, которые будут правильно отображать HTML-код. Также исходный HTML-файл содержит сотни строк и стилей CSS. Я просто упомянул лишь несколько строк, чтобы упростить.

Примечание 2: Есть много дубликатов отправки электронной почты с помощью PHP, но я не смог найти, как включить большой файл HTML в одной строки кода PHP.

+0

им не ясно, что сам вопрос есть. –

+0

@ Dagon: Отредактированный мой вопрос. Надеюсь, теперь это ясно. –

+1

выше должно работать нормально, вы говорите, что нет? Если да, то каким образом это не работает? –

ответ

4

Update для обновления вопрос:

Если вы не хотите, чтобы включить все, что HTML в вашем PHP код, то да file_get_contents() является прекрасной альтернативой.


Необходимо указать тип содержимого и версию MIME в заголовках. Это также кодировка UTF-8.

$headers = "From: $from <$from_email>\r\n". 
      "MIME-Version: 1.0" . "\r\n" . 
      "Content-type: text/html; charset=UTF-8" . "\r\n"; 

http://php.net/manual/en/function.mail.php

+1

Спасибо. Но я не спрашиваю, как отправить HTML-адрес электронной почты. Я спрашиваю, как получить содержимое электронной почты HTML из файла HTML. Отредактировал мой вопрос. –

+1

@iSumitG, тогда вы не должны были принимать этот ответ. Я нашел это http://stackoverflow.com/questions/259622/how-to-attach-html-file-to-email-using-content-taken-from-db-in-php, может помочь кому-то еще – sanchy

Смежные вопросы