mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 20.04.2024 12:39 Benutzername: Passwort: Auto-Login

Thema: phpmailer: 2 emails mit verschiedenem inhalt. vom 24.09.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> phpmailer: 2 emails mit verschiedenem inhalt.
Seite: 1, 2  Weiter
Autor Nachricht
mauer-design
Threadersteller

Dabei seit: 19.04.2007
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Do 24.09.2009 15:40
Titel

phpmailer: 2 emails mit verschiedenem inhalt.

Antworten mit Zitat Zum Seitenanfang

Hi ich möchte gerne mit einem Formular 2 Emails mit verschiedenm Inhalt an verschiedene Adressen versenden.
Ausgangspunkt: Ein Kunde Soll ein Anfrage stellen und eine Email erhalten inkl. einem angehängten PDF (in diesem Fall ein Vertrag mit Mietgebühren). Der Vermieter soll lediglich die Daten in entsprechend aufgearbeiteter Form erhalten, also kein Anhang usw...

Daher fällt der Befehl "$mail->AddAdress" weg. Damit füge ich zwar eine 2. Adresse hinzu, die aber den gleiche Email erhält.

Ich muss daher irgendwie einen 2 Mailer starten!? Kann mir einer Helfen?


Code:

<?php

require("class.phpmailer.php");                  // Phpmailer einbinden
$mail = new PHPMailer();                  // Neue Mailer-Klasse starten
$mail->IsSMTP();                              // Phpmailer auf SMTP stellen
$mail->SMTPAuth = true;                       // SMTP Authentication definieren

# ------------------------ #
# CONFIG
# ------------------------ #

$mail->SMTPDebug = 1;
$mail->Host     = "meinhost.de";               // SMTP Host
$mail->Username = "mein@emailuser.de";              // SMTP Benutzername
$mail->Password = "meinpasswort";                // SMTP Passwort
$mail->From    = $_POST['name'];               // Angezeigte Absenderadresse
$mail->FromName = $_POST['email'];                // Angezeigter Absendername
$mail->AddAddress("mein@emailuser.de");               // Empfängeradresse
$mail->SetLanguage("de", "language/");               // Sprache der verschickten Email
$mail->WordWrap = 50;                                         // Wortumbruch nach x Zeichen
$mail->IsHTML(true);                                          // Email als HTML
$mail->CharSet = 'iso-8859-1';                  // Kodierung der Email festlegen
$mail->Subject = "Allgemeine Anfrage über Website";         // Betreff der Email

# ------------------------ #
# END CONFIG
# ------------------------ #

$body = '<h3>Allgemeine Anfrage</h3>

<p>Inhalt der Email staht dann hier</p>

';
$mail->Body    = $body;
$mail->AltBody = "Bitte nutzen Sie zur Anzeige dieser Email einen HTML-faehigen Email Client";


if(!$mail->Send())
{
header('Location: ok.html');         // Wenn ein Fehler auftritt
}
else
{
header('Location: error.html');         // Wenn die Email verschickt wurde
}
?>


Zuletzt bearbeitet von mauer-design am Do 24.09.2009 15:41, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Do 24.09.2009 15:43
Titel

Antworten mit Zitat Zum Seitenanfang

kleiner denkanstoß:

Code:

$mail_zwo = new PHPMailer();             
$mail_zwo->IsSMTP();
$mail_zwo->SMTPAuth = true;

$mail_zwo->AddAddress("mein@emailuser.de"); 
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
mauer-design
Threadersteller

Dabei seit: 19.04.2007
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Do 24.09.2009 16:43
Titel

Antworten mit Zitat Zum Seitenanfang

Hi Choise,

danke für deine schnelle Antwort. Denke das hilgt mir schonmla weiter.

Kannst du mir viellcith noch sagen, wo ich das dfann platzieren soll/muss?

Der SMTP Server kann und soll ja gelich bleiben oder muss ich dann zwingend eine neue Instanz ($mail_zwo = new PHPMailer(); ) mit allen varibalen öffnen?

er soll ja erst nachdm beide emails erfolgreich verschickt werden auf die ok.html springen.

Momentan nutze ich folgendes script:

Code:

<?php

require("class.phpmailer.php");                     // Phpmailer einbinden
$mail = new PHPMailer();                        // Neue Mailer-Klasse starten
$mail->IsSMTP();                                 // Phpmailer auf SMTP stellen
$mail->SMTPAuth = true;                          // SMTP Authentication definieren

# ------------------------ #
# CONFIG
# ------------------------ #

$mail->SMTPDebug = 1;
$mail->Host     = "meinhost.de";               // SMTP Host
$mail->Username = "mein@emailuser.de";              // SMTP Benutzername
$mail->Password = "meinpasswort";                      // SMTP Passwort
$mail->From    = $_POST['name'];                  // Angezeigte Absenderadresse
$mail->FromName = $_POST['email'];                   // Angezeigter Absendername
$mail->AddAddress("mein@emailuser.de");            // Empfängeradresse
$mail->SetLanguage("de", "language/");                  // Sprache der verschickten Email
$mail->WordWrap = 50;                                            // Wortumbruch nach x Zeichen
$mail->IsHTML(true);                                             // Email als HTML
$mail->CharSet = 'iso-8859-1';                     // Kodierung der Email festlegen
$mail->Subject = "Email 1";            // Betreff der Email

# ------------------------ #
# END CONFIG
# ------------------------ #

$body = '<h3>Allgemeine Anfrage</h3>';

$mail->Body    = $body;
$mail->AltBody = "Bitte nutzen Sie zur Anzeige dieser Email einen HTML-faehigen Email Client";


// Neue Instanz


require("class.phpmailer.php");                     // Phpmailer einbinden
$mail2 = new PHPMailer();                        // Neue Mailer-Klasse starten
$mail2->IsSMTP();                                 // Phpmailer auf SMTP stellen
$mail2->SMTPAuth = true;                          // SMTP Authentication definieren

# ------------------------ #
# CONFIG 2
# ------------------------ #

$mail2->SMTPDebug = 1;
$mail2->Host     = "meinhost.de";               // SMTP Host
$mail2->Username = "mein@emailuser.de";              // SMTP Benutzername
$mail2->Password = "meinpasswort";                      // SMTP Passwort
$mail2->From    = $_POST['name'];                  // Angezeigte Absenderadresse
$mail2->FromName = $_POST['email'];                   // Angezeigter Absendername
$mail2->AddAddress("mein@emailuser.de");            // Empfängeradresse
$mail2->SetLanguage("de", "language/");                  // Sprache der verschickten Email
$mail2->WordWrap = 50;                                            // Wortumbruch nach x Zeichen
$mail2->IsHTML(true);                                             // Email als HTML
$mail2->CharSet = 'iso-8859-1';                     // Kodierung der Email festlegen
$mail2->Subject = "Email 2";            // Betreff der Email

# ------------------------ #
# END CONFIG 2
# ------------------------ #

$body2 = '<h3>Allgemeine Anfrage</h3>';
$mail2->Body    = $body2;
$mail2->AltBody = "Bitte nutzen Sie zur Anzeige dieser Email einen HTML-faehigen Email Client";





if(!$mail->Send())
{
header('Location: ../index.php?site=kontakt_error');         // Wenn ein Fehler auftritt
}
else
{
header('Location: ../index.php?site=kontakt_ok');         // Wenn die Email verschickt wurde
}
?>


Das verursacht aber folgenden Fehler:

Code:

Fatal error: Cannot redeclare class phpmailerException in /var/www/meinesite/httpdocs/class.phpmailer.php on line 2072


Zuletzt bearbeitet von mauer-design am Do 24.09.2009 17:04, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst Fr 25.09.2009 09:27
Titel

Antworten mit Zitat Zum Seitenanfang

eigentlicg brauchst du keine 2. instanz der klasse erstellen. einfach nach dem absenden der ersten mail die nötigen daten wie smtp, empfänger, topic usw. ändern und mit send() ein 2. mal senden.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 25.09.2009 10:23
Titel

Antworten mit Zitat Zum Seitenanfang

Und vor allem musst du die Klasse auch nicht ein zweites mal einbinden ...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
mauer-design
Threadersteller

Dabei seit: 19.04.2007
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Fr 25.09.2009 14:14
Titel

Antworten mit Zitat Zum Seitenanfang

Hi Primus Lächel "einfach" ist es nicht, sonst würd ich nich t fragen. ich hab mit phpmailer bisher immer nur eine email versendet.

was müsste ich denn an meinem scripot genau ändern, um eine 2 emial ohne ahang an mich zu senden?

du meinste ja das ich $mail2 nicht benötige. aber wie definiere ich denn inhalt und empfänger der 2. email?
und benötige ich dann nicht eine schleife?

Ich möchte wirklich incht nerven! Vielen Dank für jede Hilfe!!!
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst Fr 25.09.2009 14:28
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

<?php
$mail = new phpmailer();

// 1. mail
$mail->text = "bla";
$mail->subject = "bla";
$mail->empfänger = "ich@ich.de";
$mail->send();

// 2.mail
$mail->text = "bla";
$mail->subject = "bla";
$mail->empfänger = "ich@ich.de";
$mail->send();

// oder von mir aus auch mit ner schleife
for($i=0; $i<=10; $i++)
{
$mail->text = "bla";
$mail->subject = "bla";
$mail->empfänger = "ich@ich.de";
$mail->send();
}
?>


die genauen methoden weiss ich ausm kopp natürlich nicht, aber mit dem schnippsel solltest dir jetzt selbst zu helfen wissen. wegend er empfänger, da gibts glaub ich auch ne methode die so ähnlich heisst wie "clearrecipients()" oder so, die dann die empfänger wieder zurücksetzt, ansonsten kann es sein, das die empfänger einfach ergänzt werden.


Zuletzt bearbeitet von pRiMUS am Fr 25.09.2009 14:29, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
mauer-design
Threadersteller

Dabei seit: 19.04.2007
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Sa 26.09.2009 14:14
Titel

Antworten mit Zitat Zum Seitenanfang

Ich habe nun dieses Script gebastelt, aber es passiert nichts. ich bekomme auch keine Fehlermeldung, lediglich eine weiße seite!? Ich checks nichts und das Manual vom PHPmailer ist auch niht wirklich hilfreich...

Code:

<?php

// Konfiguration

require("class.phpmailer.php");                     // Phpmailer einbinden
$mail = new PHPMailer();                        // Neue Mailer-Klasse starten
$mail->IsSMTP();                                 // Phpmailer auf SMTP stellen
$mail->SMTPAuth = true;                          // SMTP Authentication definieren
$mail->SMTPDebug = 1;                                 // Debugging einstellen
$mail->Host     = "meinhost";                        // SMTP Host
$mail->Username = "mein@emailuser.de";              // SMTP Benutzername
$mail->Password = "meinpasswort";                      // SMTP Passwort
$mail->SetLanguage("de", "language/");                  // Sprache der verschickten Email
$mail->WordWrap = 50;                                            // Wortumbruch nach x Zeichen
$mail->IsHTML(true);                                             // Email als HTML
$mail->CharSet = 'iso-8859-1';                           // Kodierung der Email festlegen

// Email an Provider

$mail->From    = $_POST['name'];                        // Angezeigte Absenderadresse
$mail->FromName = $_POST['email'];                   // Angezeigter Absendername
$mail->AddAddress("empfänergemail");            // Empfängeradresse
$mail->Subject = "Email 1";                        // Betreff der Email
$body = '
<h3>blablabla</h3>
      <table width="500" border="0" cellspacing="0" cellpadding="0">
         <tr>
            <td width="120">Name:</td>
            <td>$_POST['name']</td>
         </tr>
         <tr>
            <td width="120">Email-Adresse:</td>
            <td>$_POST['email']</td>
         </tr>
</table>
';
$mail->Body = $body;
$mail->AltBody = "Bitte nutzen Sie zur Anzeige dieser Email einen HTML-faehigen Email Client";
$mail->send();
$mail->ClearAllRecipients();

// Email an Kunden

$mail->From    = $_POST['name'];                        // Angezeigte Absenderadresse
$mail->FromName = $_POST['email'];                   // Angezeigter Absendername
$mail->AddAddress("$_POST['email']");            // Empfängeradresse
$mail->Subject = "Email 2";                        // Betreff der Email
$mail->AddAttachment(files/einedatei.doc);
$body = '
<h3>blablabla</h3>
      <p>Sehr geehrte Damen und Herren, </p>
      <p>wir bedanken uns f&uuml;r den Download unserer Datei </p>
      <p>Sie finden die angeforderte Datei im Anhang dieser Email.</p>
      <p>Mit freundlichen Gr&uuml;&szlig;en</p>
[/quote]';
$mail->Body = $body;
$mail->AltBody = "Bitte nutzen Sie zur Anzeige dieser Email einen HTML-faehigen Email Client";

if(!$mail->Send())
{
header('Location: ../index.php?article_id=19&clang=0');         // Wenn ein Fehler auftritt
}
else
{
header('Location: ../index.php?article_id=20&clang=0');         // Wenn die Email verschickt wurde
}
?>
  View user's profile Private Nachricht senden
 
Ähnliche Themen Problem mit PHPMailer-Klasse
PHP: Prob bei PHPMailer - bei SMTP FOrmatierung futsch
ajax - Eingaben auslesen und phpmailer zur Verfügung stellen
PHPMailer Problem | Mails werden nur in HTML versendet!
PHP - Emails mit mail() versenden
php verschickt leere emails
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.