PHP mail () конкретный вопрос - PullRequest
1 голос
/ 12 мая 2011

Итак, я хотел бы использовать mail() для отправки регистрационных писем для моего веб-сайта, однако я бы хотел, чтобы он выглядел хорошо, при необходимости возвращаясь к старому доброму тексту; электронное сообщение со смешанным сообщением.

Однако я бы хотел, чтобы он был отправлен от Джона Доу, чей электронный адрес: johndoe@example.com по адресу receient@example.com.

HTML-код должен быть <html><head><title>HTML email!</title></head><body><p>This is HTML!</p></body</html>, а текстовое сообщение должно быть This is plaintext.

Каковы аргументы mail() для достижения этой цели? Я знаю, что многое из этого связано с изменением заголовка каким-то сумасшедшим способом.

Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 12 мая 2011

Вместо этого используйте что-то вроде SwiftMailer , поскольку в нем есть такие приятные вещи, как предотвращение внедрения заголовка. Имея это в виду, да, вы должны установить пользовательские заголовки и использовать тело из нескольких частей для достижения того, что вы хотите:

/***************************************************************
 Creating Email: Headers, BODY
 1- HTML Email WIthout Attachment!! <<-------- H T M L ---------
 ***************************************************************/
#---->Headers Part
$Headers     =<<<AKAM
From: $FromName <$FromEmail>
Reply-To: $FromEmail
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary="$boundary1"
AKAM;

#---->BODY Part
$Body        =<<<AKAM
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary="$boundary1"

This is a multi-part message in MIME format.

--$boundary1
Content-Type: text/plain;
    charset="windows-1256"
Content-Transfer-Encoding: quoted-printable

$TextMessage
--$boundary1
Content-Type: text/html;
    charset="windows-1256"
Content-Transfer-Encoding: quoted-printable

$HTMLMessage

--$boundary1--
AKAM;

Источник: http://www.php.net/manual/en/function.mail.php#83491

Это много работы. Именно поэтому я рекомендую иметь библиотеку, которая может обрабатывать все это для вас, а также другие функции.

1 голос
/ 12 мая 2011

Все здесь (пример № 4): http://php.net/manual/en/function.mail.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...