php email () с изображением - PullRequest
       16

php email () с изображением

2 голосов
/ 22 декабря 2009

Используя outlook, я могу отправлять электронные письма с изображениями, вставленными в тело сообщения (не как вложение). Как я могу сделать это, используя функцию mail () из PHP?

Ответы [ 5 ]

4 голосов
/ 22 декабря 2009

Я бы порекомендовал Swift Mailer:

http://swiftmailer.org/docs/embedding-files

3 голосов
/ 22 декабря 2009

С документация (Пример # 4 Отправка электронного письма в формате HTML):

Обратите внимание на содержимое переменных $message и значение переменной $headers.

$to       = "john@doe.com";
$subject  = "HTML Email";
$message  = "Hello <img src='http://mysite.com/world.jpg' />";
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: HTML Emailer <auto@example.com>' . "\r\n";

mail($to, $subject, $message, $headers);
2 голосов
/ 22 декабря 2009

Я широко использовал электронную почту HTML Mime, и это очень просто:

http://www.phpclasses.org/browse/package/32.html

$mail = new htmlMimeMail();
$mailhtml = $mail->getFile('./emailheader.html');
$mailimglogo = $mail->getFile('./images/email-logo-1.jpg');
$mail->addHTMLImage($mailimglogo, 'email-logo-1.jpg', 'image/jpeg');
$mailhtml .= '<tr><td class="mailheader" colspan="2" align="center">';
$mailhtml .= '<img src="email-logo-1.jpg"></td></tr>';

...


$mailhtml .= $mail->getFile('./emailfooter.html');
$mail->setHtml($mailhtml);
$mail->setFrom('Dana Brainerd <dana@danabrainerdphotography.com>');
$mail->setCc('adam@adamcasey.net');
$mail->setBcc('webmaster@danabrainerdphotography.com');
$mail->setSubject("Dana Brainerd Photography Order Number {$roworder['order_number']}");

$mailresult = $mail->send(array($roworder['customer_email']));                     
2 голосов
/ 22 декабря 2009

Если электронные письма в формате html / mime, вы можете сделать это как html ...

1 голос
/ 22 декабря 2009

Если вы не хотите размещать изображения в каком-либо месте и хотите, чтобы они были включены в строку, вам нужно их кодировать, вставлять закодированный текст и ссылаться на них по идентификатору. PHPmailer прекрасно справляется с этим (см. Встроенные вложения):

http://phpmailer.worxware.com/index.php?pg=tutorial#3

В противном случае вы можете просто ссылаться на них по их веб-адресу, как описано в других сообщениях.

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