как отправить изображение в рассылку? - PullRequest
6 голосов
/ 28 июня 2010

Может кто-нибудь сказать мне, как я могу отправить изображения в качестве основной части тела в бюллетене. Как я могу добавить любое изображение из бэкэнда, чтобы при отправке подписчикам информационного бюллетеня изображение, которое я хочу показать, стало основной частью письма.

На самом деле я говорю о том, что у меня есть форма, в которой я могу вводить текст, и этот текст хорошо подходит для новостной рассылки. теперь я хочу добавить изображения в форму, чтобы мне не нужно было ничего писать, и только изображение будет отправлено по почте в качестве основной части письма.

Большое спасибо. вы, ребята, очень меня поддержали.

Ответы [ 4 ]

7 голосов
/ 28 июня 2010

Если ваша рассылка в формате HTML, просто создайте ссылку на живые изображения на сервере.

Если у вас нет собственного сервера, просто разместите изображения на любом бесплатном хостинге изображенийт.е. (imageshack.us) и в тексте ваших писем добавьте:

<img src="http://imageshack.us/myimage.png">

И когда пользователь откроет письмо, изображения будут загружаться с сервера.

Покаэлектронная почта состоит из нескольких частей (как предлагалось ранее), все пользователи, которые «не могут читать» HTML, получат текстовую версию, которая может иметь «жесткие ссылки» на изображения на вашем живом сервере.

Надеюсь, это поможет вам

6 голосов
/ 28 июня 2010

Во-первых, вы должны отправить свою рассылку в формате HTML.Затем вы можете вставить изображение в свой бюллетень как

<img src="image_url">

. Image_url может быть удаленным или встроенным.Удаленный образ делает электронную почту меньше, но большинство почтовых клиентов запрашивают одобрение пользователя.Встроенное изображение будет отображаться без запроса пользователя, но будет частью электронной почты.

Чтобы использовать удаленное изображение, просто разместите изображение где-нибудь и укажите URL-адрес как image_url.

Встроенное изображение должнобыть закодированы как части MIME.Это не тривиально, чтобы сделать это.Вам нужно использовать такой пакет, как PhpMailer,

http://sourceforge.net/projects/phpmailer/

Вот пример,

<?php
require("class.phpmailer-lite.php");
$mail = new PHPMailerLite();

$mail->From="you@example.com";
$mail->FromName="Your Name";

$mail->AddAddress("list@example.com");
$mail->Subject = "Your fancy newsletter";

$mail->IsHTML(true);
$mail->AddEmbeddedImage('image.png', 'image_id', 'test.png', 'base64', 'image/png');
$mail->Body = <<<EOT
<h1>My Newsletter</h1>
<p>This picture is embedded in newsletter: <img src="cid:image_id" /></p>
EOT;
$mail->AltBody="Text only, sorry no image";

if(!$mail->Send())
{
   echo "Error sending: " . $mail->ErrorInfo;
}
else
{
   echo "Mail is sent";
}
?>
2 голосов
/ 28 июня 2010

Я бы не рекомендовал прикреплять изображения к электронным письмам ... это один из многих флагов для поставщиков услуг электронной почты, которые вы отправляете спам.Лучше всего делать так, как указано в решении Маркоса и ссылаться с другого сервера через абсолютный URL.Не забывайте также избегать очевидных электронных писем, которые помечают вас черным флагом.Требуется только одно сомнительное письмо, чтобы поднять флаг со спам-фильтром, который будет агрессивно сообщать о вас в RBL.И поверьте мне, это не весело, выходить из этих списков!

Моя компания ежедневно отправляет десятки тысяч электронных писем от имени наших клиентов.Мы попытались внедрить в какой-то момент один тест для проверки и обнаружили, что более 50% наших электронных писем либо не доставляются, либо теряются в «огромной пропасти» фильтрации спама.Благодаря ссылкам мы достигаем более 85% возможности доставки, в зависимости, конечно, от качества предоставляемых электронных писем.

2 голосов
/ 28 июня 2010

Вы должны создать составное сообщение MIME , содержащее изображение и, возможно, некоторый HTML.

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