Файл электронной почты отправляет электронное письмо два раза с помощью функции php mail
Мои три проблемы, пробовал разные комбинации без результата, гуглил, но мало или совсем не помогал --
- Я получил два раза электронное письмо, измените
[email protected]
на идентификатор электронной почты, чтобы увидеть результат. - При выполнении этого файла я получаю изображение, однако я хочу, чтобы был отправлен текст "По электронной почте".
- Полный HTML-контент с тегом передается вместо HTML-рендеринга по электронной почте.
Мой рабочий код -->
<?php
header('Content-type: image/jpeg');
$jpg_image = imagecreatefromjpeg('http://dummyimage.com/600x400/f5f5f5/fff.jpg');
$black = imagecolorallocate($jpg_image, 1, 1, 1);
$font_path = 'myfont/arial.ttf';
$text = "Swapnesh Sinha!";
imagettftext($jpg_image, 24, 0, 175, 85, $black, $font_path, $text);
$tip = imagejpeg($jpg_image);
$imageData = base64_encode($tip);
//$src = 'data: '.mime_content_type($jpg_image).';base64,'.$imageData;
imagedestroy($jpg_image);
?>
<html>
<head></head>
<body>
<p>
<?php
$to = '[email protected]';
$subject = "Thisa is a email test to find image work";
$message = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MY SITE TITLE</title>
</head><body><table><tr><td>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</td></tr><tr><img src="'.'http://mysiteurl/addtext.php'.'" /></tr></table></body></html>';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$bool = mail($to, $subject, $message, $headers);
if($bool)
echo "Email Sent";
else
echo "Email Not Sent";
?>
</body>
</html>
ПРИМЕЧАНИЕ - В <img src="'.'http://mysiteurl/addtext.php'.'" />
http://mysiteurl/addtext.php
это то же самое где у нас есть все это вышеупомянутое содержание.
1 answers
Первое, что я бы сделал, это проверил ваши журналы apache/IIS, чтобы убедиться, что URL-адрес не вызывается дважды (просто проверка на вменяемость).
Если страница PHP, которую вы добавили в свой OP, равна http://mysiteurl/addtext.php
, то она будет вызвана дважды, один раз при отображении HTML, затем браузер вызовет ее снова при отображении тега <img ...>
.
Чтобы исправить это, вам нужно либо разделить его на два PHP-файла (рекомендуется), либо передать параметр GET для переключения обработки изображений.
Вам также понадобится чтобы добавить $headers .= "Content-type: text/html\r\n";
, чтобы электронное письмо отображалось как html, а не как обычный текст.