Я разрабатываю веб-сайт в php и хочу отправить электронное письмо пользователю, когда пользователь подписывается.
Я могу сделать это успешно. Даже я использую html-формат и отправляю его в формате html.
Я попробовал это. Я знаю, что изображения должны быть загружены на сервер, но я сделаю это позже.
$bodyPart = ' <body style="background-color:#FFFFFF;"> <img id="header" style="position:absolute; left:85px; top:50px; " src="images/logo.jpg" width="140" height="90" border="0" alt="" /></a> <img id="cloths" style="position:absolute; left:275px; top:25px;" src="images/cloths.jpg" width="350" height="300" border="0" alt="" /></a> <font size="7" style="font-family:Times new Roman; position:absolute; left:50px; top:120px;">Thank YOU</font> <font size="3" style="font-family:Times new Roman;position:absolute;left:50px; top:165px;">For registering with our team </font> <img id="bag" style ="position:absolute; left:290px; top:345px;"src="images/bag1.jpg" width="250" height="240" border="0" alt="" /></a> <img style="position:absolute; left:30px; top:440px; "id="watch" src="images/watch1.jpg" width="260" height="180" border="0" alt="" /></a> </body> '; $m->setMessageFromString($plainTextBody,$bodyPart); print_r($ses->sendEmail($m));
Я должен получать этот вывод
Но я получаю это вместо этого.
Но проблема в форматировании выполняется неправильно, даже если она работает в моем локальном хосте как независимом файле. Я попытался использовать внешний CSS, внутренний CSS и встроенный CSS. Но это не работает.
Любой пример CSS, работающий с html при отправке электронной почты, будет очень полезен.
Заранее спасибо.
ОБНОВЛЕНО Как я и предполагал, вы только что сделали копию paste.Try следующий код. Изучите базовый синтаксис HTML.
Не забудьте выскочить и пометить как ответ;)
$bodyPart = ' <BODY <!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>Untitled Document</title> </head> <body style="margin-top:20px;"> <table width="600" cellpadding="0" cellspacing="0" align="center"> <tr> <td> <img id="header" src="images/logo.jpg" width="140" height="90" border="0" alt="" /></a> </td> <td> <img id="cloths" src="images/cloths.jpg" width="350" height="300" border="0" alt="" /></a> </td> </tr> <tr> <td> <font size="7" style="font-family:Times new Roman;">Thank YOU</font> </td> <td> <font size="3" style="font-family:Times new Roman;">For registering with our team </font> </td> </tr> <tr> <td> <img id="bag" src="images/bag1.jpg" width="250" height="240" border="0" alt="" /></a> </td> <td> <img id="watch" src="images/watch1.jpg" width="260" height="180" border="0" alt="" /></a> </td> </tr> </table>'; echo $bodyPart;
СТАРШИЙ Сделать это просто. Поместите одну таблицу в тело html и исправьте ширину.
Ваш орган электронной почты должен выглядеть следующим образом:
$body = <<<BODY <!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>Untitled Document</title> </head> <body leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0" marginwidth="0" marginheight="0"> <table width="600" cellpadding="0" cellspacing="0" align="center"> <tr> <td>=============Your content =========</td> </tr> </table> BODY; echo $body;
<?php $to = 'rajeevranjan@hostname.com'; $subject = 'Test email '; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= "From: rajeev ranjan"; $message='<div style="background-color:#FFFFFF;"> <img id="header" style="position:absolute; left:85px; top:50px; " src="images/logo.jpg" width="140" height="90" border="0" alt="" /></a> <img id="cloths" style="position:absolute; left:275px; top:25px;" src="images/cloths.jpg" width="350" height="300" border="0" alt="" /></a> <font size="7" style="font-family:Times new Roman; position:absolute; left:50px; top:120px;">Thank YOU</font> <font size="3" style="font-family:Times new Roman;position:absolute;left:50px; top:165px;">For registering with our team </font> <img id="bag" style ="position:absolute; left:290px; top:345px;"src="images/bag1.jpg" width="250" height="240" border="0" alt="" /></a> <img style="position:absolute; left:30px; top:440px; "id="watch" src="images/watch1.jpg" width="260" height="180" border="0" alt="" /></a> </div> '; //send the email $mail_sent = @mail( $to, $subject, $message, $headers ); //if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" echo $mail_sent ? "Mail sent" : "Mail failed"; ?>
Отправьте свой код ..
Но я думаю, что проблема заключается в вашем Content-Type
.
Проверь это:
Content-type: text/html; charset=iso-8859-1\r\n
text/html
необходим ..
ОБНОВИТЬ:
Путь неверен.
images/logo.jpg
Загрузите изображение на сервер (или изображение) и вставьте всю ссылку.
ОБНОВЛЕНИЕ 2
Я думаю, что у меня есть решение:
Первым параметром из setMessageFromString()
является обычный текст. Второй параметр требует содержимого html. Если вы хотите отправить HTML-адрес электронной почты, проверьте следующее:
$m->setMessageFromString($plainTextBody, $HTMLBody);