PHP Присоединение изображения на электронное письмо

Вы можете использовать панд:

import pandas as pd
import seaborn as sns
sns.set()

df = pd.DataFrame([(60,40), (45, 55)], columns=['delay', 'overachive'], 
                  index=['John', 'Ellen'])
df['delay'] = -df['delay']
df.plot(kind='bar', stacked=True);

enter image description here

6
задан Omar Kooheji 11 February 2009 в 13:49
поделиться

6 ответов

Попробуйте ГРУШУ пакет Mail_Mime, который может встроить изображения для Вас.

Необходимо использовать addHTMLImage () метод и передать идентификатор содержания (cid), который является уникальной строкой текста, который Вы будете также использовать в атрибуте src своего img в качестве a cid: URL. Например:

include('Mail.php');
include "Mail/mime.php";


$crlf = "\r\n";
$hdrs = array( 
        'From' => 'foo@bar.org', 
        'Subject' => 'Mail_mime test message' 
        ); 

$mime = new Mail_mime($crlf); 

//attach our image with a unique content id
$cid="mycidstring";
$mime->addHTMLImage("/path/to/myimage.gif", "image/gif", "", true, $cid);

//now we can use the content id in our message
$html = '<html><body><img src="cid:'.$cid.'"></body></html>';
$text = 'Plain text version of email';

$mime->setTXTBody($text);
$mime->setHTMLBody($html); 

$body = $mime->get();
$hdrs = $mime->headers($hdrs);

$mail =& Mail::factory('mail');
$mail->send('person@somewhere.org', $hdrs, $body);
11
ответ дан 8 December 2019 в 17:28
поделиться

Является, вероятно, самым легким пользоваться некоторой библиотекой, которая может иметь дело с почтовыми вложениями. Например, Mail_Mime ГРУШИ.

2
ответ дан 8 December 2019 в 17:28
поделиться

Пакет ГРУШИ Mail_Mime - то, что Вы после здесь.

После того как Вы настроили свое сообщение, прикрепление вложения так же просто как:

$mime = new Mail_mime("\n");

$mime->setTXTBody($msg_text);
$mime->setHTMLbody($msg_html);

// Add gif as attachment to mail
$mime->addAttachment("/path/to/image/smile.gif", "image/gif");

$body = $mime->get();
$headers = $mime->headers($headers);
$mail->send("joe@bloggs.com", $headers, $body);

При поиске логотипа для отображения в конкретном месте в электронном письме - а не только как вложение - можно сделать следующее:

// In your message html:
<img src='logo.gif' alt='Our logo' />

// PHP:
$mime->addHTMLImage('/path/to/image/logo.gif');

Этот подход мог смешать результаты в зависимости от почтового клиента Вашего пользователя, поэтому прежде, чем отправить его пытаются тестировать Ваш формат на фиктивном Gmail, Yahoo и учетных записях hotmail.

1
ответ дан 8 December 2019 в 17:28
поделиться

Вы прокручиваете свое собственное, или используете заранее приготовленный класс? Я рекомендую Почтовую программу PHP [0] сам, и существует также ГРУША:: Mail_Mime[1] среди других, которых Google был бы рад помочь Вам найти. Я использовал Почтовую программу PHP для отправки сообщений со встроенными изображениями [2] в течение многих лет без помехи, хотя принимают во внимание, что каждое изображение увеличивает вес пропускной способности электронной почты чрезвычайно, так обычно это не должно использоваться ни для чего оптом. И повторить счет, действительно используйте альтернативу только для текста также.

[0] http://phpmailer.sourceforge.net/

[1] http://pear.php.net/manual/en/package.mail.mail-mime.php

[2] http://phpmailer.sourceforge.net/docs/PHPMailer/PHPMailer.html#AddEmbeddedImage

взятый из http://lists.evolt.org/archive/Week-of-Mon-20060612/183029.html

0
ответ дан 8 December 2019 в 17:28
поделиться

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

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

Если бы Вы - планирование отправки электронных писем справедливо интенсивно, я настоятельно рекомендовал бы делать его или через преданный клиент почтового маркетинга или реализовать одного из многих почтовый маркетинг API там, который отправит его за Вами. (mailchimp, по-видимому, достойный).

0
ответ дан 8 December 2019 в 17:28
поделиться

Попробуйте swiftmailer вот хороший пример использования встроенного изображения http://swiftmailer.org/wikidocs/v3/embedding_images?s[]=embed

0
ответ дан 8 December 2019 в 17:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: