[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
PHPMailer: Grafiken als Anhang mitschicken - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
grb2
Beiträge: 232
Registriert: 3. Feb 2006, 12:27
Wohnort: Weismain
Kontaktdaten: Website

PHPMailer: Grafiken als Anhang mitschicken

25. Okt 2007, 12:16

Hallo zusammen,

ich möchte in eine Mail Grafiken einfügen, die beim Lesen der mail nicht erst vom Webserver abgerufen werden müssen. In der PHPMailer-Klasse habe ich die Funktion AddEmbededImage gefunden - doch wie setze ich diese im Zusammenang mit einer HTML-Mail ein?

Hier der Kommentar zur Funktion:

Code: Alles auswählen

    /**
     * Adds an embedded attachment.  This can include images, sounds, and
     * just about any other document.  Make sure to set the $type to an
     * image type.  For JPEG images use "image/jpeg" and for GIF images
     * use "image/gif".
     * @param string $path Path to the attachment.
     * @param string $cid Content ID of the attachment.  Use this to identify
     *        the Id for accessing the image in an HTML form.
     * @param string $name Overrides the attachment name.
     * @param string $encoding File encoding (see $Encoding).
     * @param string $type File extension (MIME) type.
     * @return bool
     */
Für eure Antworten wäre ich sehr dankbar.

Schöne Grüße
von Simon

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

25. Okt 2007, 14:01

Hi Simon,

hast du den Hinweis aus der PHPMailer Doku beachtet?
Adds an embedded attachment. This can include images, sounds, and just about any other document. Make sure to set the $type to an image type. For JPEG images use "image/jpeg" and for GIF images use "image/gif".
Gruß,
Markus

grb2
Beiträge: 232
Registriert: 3. Feb 2006, 12:27
Wohnort: Weismain
Kontaktdaten: Website

26. Okt 2007, 08:57

Hallo Markus,

hast du diese Funktion schon einmal erfolgreich verwendet? Wenn ich folgenden Aufruf probiere, wird die Grafik in der Mail nicht eingefügt. Es scheint generell keine HTML-Mail erstellt zu werden:

Code: Alles auswählen

$mail->AddEmbeddedImage($ROOT."sandra.gif", "testgrafik", "testgrafik", "base64", mime_content_type($ROOT."sandra.gif"));
Unten einmal mein komplettes Test-Skript.

Für weitere Antworten wäre ich dankbar.

VG Simon

Code: Alles auswählen

<?php
if ($_GET["phpmailer"]) {
$ROOT = $_SERVER["DOCUMENT_ROOT"]."/files/";
$mail = new rex_mailer();
$mail->IsHTML(true);
$mail->Fromname = "Simon";
$mail->Sender = "example@example.org";
$mail->AddAddress("simon@example.org");
$mail->Subject = "Testnachricht mit Bild";
$body = '<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title>Test</title>
</head><body>
<h1>Überschrift</h1>
<p>Es folgt eine Grafik:</p>
<p><img src="cid:testgrafik" alt="Test" /></p>
</body></html>';

$mail->AddEmbeddedImage($ROOT."sandra.gif", "testgrafik", "testgrafik", "base64", mime_content_type($ROOT."sandra.gif"));
$text_body = "Diese Mail liegt nur im HTML-Format vor.";
$mail->Body = $body;
$mail->AltBody = $text_body; 

$mail->Send();
echo '<p>Mail wurde verschickt.</p>';
}
else {
echo '<p><a href="'.rex_geturl("", "", array("phpmailer" => "ok")).'">PHPMailer-Test</a></p>';
}
?>

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

26. Okt 2007, 09:49

Hi,

so solltes es funktionieren:

Code: Alles auswählen

require("class.phpmailer.php");
$mail = new phpMailer();
$mail->From = "test@example.com";
$mail->FromName = "lycos test";
// smtp//$mail->Mailer = "smtp";
//$mail->Host = "linux";
$mail->IsHTML(true);
$mail->AddAddress('xxx@lycos.de');
$mail->Subject = 'test html mehl';
$mail->AddEmbeddedImage("11.jpg", "my-attach", "11.jpg");
$mail->Body = 'Embedded Image: <img alt="PHPMailer" src="cid:my-attach"> Here is an image!';$mail->Send();
Gruß,
Markus

grb2
Beiträge: 232
Registriert: 3. Feb 2006, 12:27
Wohnort: Weismain
Kontaktdaten: Website

26. Okt 2007, 13:32

Hallo Markus,

hast du dein Skript ausprobiert? Bei mir wird nämlich keine Grafik angezeigt.

Warum verwendest du nicht die vom PHPMailer-Addon mitgelieferte Klasse? Die müsste man ja nur mittels

Code: Alles auswählen

$mail = new rex_mailer();
erzeugen.

VG Simon

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

26. Okt 2007, 15:25

Hi Simon,

sicherlich muss man rex_mailer verwenden.

Den o.g. Code hab ich über Tante Google gefunden, nicht getestet.

Gruß,
Markus

grb2
Beiträge: 232
Registriert: 3. Feb 2006, 12:27
Wohnort: Weismain
Kontaktdaten: Website

26. Okt 2007, 16:45

Hallo Markus,

kannst du den Code einmal ausprobieren? Mich interessiert, ob auch u keine Grafik angezeigt bekommst.

Danke.

Simon

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

26. Okt 2007, 20:51

Hi Simon,

ich schau morgen mal danach...

Gruß,
Markus

Zurück zu „Allgemeines [R4]“