• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

[erledigt] PHPMailer und Variablen mitschicken (wenn diese vorhanden sind)

godlike

Warp drölf
Veteran

Registriert
13 Juli 2013
Beiträge
14.327
Ort
Topkekistan
Hey,

ich will gerade eine Mail generieren mit der class.phpmailer.php. Funktioniert alles ohne Probleme. Jetzt will ich aber IN die Mail, also in den Inhalt ($mail->Body ="Inhalt";) variable Inhalte einfügen. Der Kunde kann nämlich mehrere Optionen an oder abwählen. Je nach dem ob etwas ausgewählt wurde soll das in der Mail aufgeführt werden oder nicht. Die Abfragen dazu habe ich in einer Funktion stehen. Einfach eibinden bringt wohl nix oder?

also so:

[src=php]$mail->Body ="Das ist gewählt worden ".meine_function()." blah blah blub";[/src]

So, wie bekomme ich das jetzt rein?

Die Funktion besteht im Eigentlichen aus ein paar If-Abfragen alla

[src=php]if (isset($_SESSION['auswahl1'])) {
echo 'Blie blah blubb '.$_SESSION['auswahl1'].' trallalla<br>';
}[/src]

Einen Array erstellen? Sessions anlegen? Danach wieder zerpflücken?

Irgendwie steh ich grad mal wider auf dem Schlauch :D

Gruß godlike
 
Zuletzt bearbeitet:

Exterminans

Neu angemeldet

Registriert
14 Juli 2013
Beiträge
147
Re: PHPMailer und Variablen mitschicken (wenn diese vorhanden sind)

Doch, das funktioniert genau so, wie du dir das schon als erstes gedacht hast.

Ganz normal den String zusammen bauen, in Body schreiben und das wars schon.
 

godlike

Warp drölf
Veteran

Registriert
13 Juli 2013
Beiträge
14.327
Ort
Topkekistan
  • Thread Starter Thread Starter
  • #3
Re: PHPMailer und Variablen mitschicken (wenn diese vorhanden sind)

Ok, wenn ich die Funktion so wie in dem Beispiel oben einbaue ist an der Stelle der Mail aber nichts enthalten. Dafür bekomme ich nach dem Abschicken die betreffenden Stellen als Ausgabe unten auf der Seite :confused:
 

evillive

EXIL

Registriert
24 Juli 2013
Beiträge
930
Re: PHPMailer und Variablen mitschicken (wenn diese vorhanden sind)

sieht die Funktion so aus?
PHP:
... meine_function() {

if (isset($_SESSION['auswahl1'])) {
        echo 'Blie blah blubb '.$_SESSION['auswahl1'].' trallalla<br>';
    }

}

vllt liegt es dann am "echo"

PHP:
... meine_function() {
$str = "";
if (isset($_SESSION['auswahl1'])) {
        $str .= 'Blie blah blubb '.$_SESSION['auswahl1'].' trallalla<br>';
    }
return $str;
}
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Re: PHPMailer und Variablen mitschicken (wenn diese vorhanden sind)

Das Problem ist in der Tat, dass du den fraglichen Text mit echo ausgibst, statt ihn als Rückgabewert der Funktion zurückzuliefern.

Abgesehen davon solltest du dich entscheiden, ob du (X)HTML-E-Mails versenden möchtest oder nicht. Grundsätzlich rate ich davon ab, da HTML-E-Mails diverse Nachteile mit sich bringen - u.a. führen sie leicht zu Sicherheitsproblemen, weshalb ihre automatische Anzeige deaktiviert werden sollte, und die HTML-Layout-Engines einiger E-Mail-Clients (speziell Outlook) und Webmail-Interfaces sind sehr stark eingeschränkt. Generierst du HTML-E-Mails, kannst du HTML-Markup wie z.B. `<br>` verwenden, musst jedoch vom Benutzer übergebene Daten mittels htmlspecialchars() maskieren. Generierst du Plain-Text-E-Mails, musst du stattdessen normale Zeilenumbrüche (CR-LF-Sequenzen, "\r\n") erzeugen. Eine Maskierung der vom Benutzer übergebenen Daten ist dann prinzipiell nicht notwendig, dennoch wäre sinnvoll, zumindest deren Länge und Zeichenvorrat zu beschränken, damit Benutzer (und Spam-Bots) das Formular nicht zum Versand weitgehend frei definierbarer E-Mails an dich missbrauchen können.
 

godlike

Warp drölf
Veteran

Registriert
13 Juli 2013
Beiträge
14.327
Ort
Topkekistan
  • Thread Starter Thread Starter
  • #6
Re: PHPMailer und Variablen mitschicken (wenn diese vorhanden sind)

Ach verdammt, das mit dem return ist ja eigentlich logisch :dozey: Das ich das nicht selber gesehen habe...

Die Ausgabe bzw. die Mail soll natürlich Plaintext erfolgen

[src=php]$mail->ContentType = 'text/plain';[/src]

Das <br> hat da in der Ausgabe natürlich nichts zu suchen. Komischerweise funktionieren die Umbrüche in der Mail mit \n wunderbar, außer wenn ich \n in der Funktion nutze

[src=php]$product .= 'Blie blah blubb '.$_SESSION['auswahl1'].' trallalla \n ';[/src]

Hier bekomme ich das "\n" direkt ausgegeben. Bei einer Ausgabe von z.B.

[src=php]$product .= $variable.'\n';[/src]
funktioniert hingegen der Umbruch wunderbar :confused: Auch wenn ich das so in meiner Funktion nutze...

Nachtrag:

Sobald ich folgende Schreibweise nehme, also mit einem "-Zeichen ()Anführungszeichen doppelt an entsprechender Stelle anstatt einem '-Zeichen (Anführungszeichen einfach) funktionieren die Umbrüche.

[src=php]$product .= "Blie blah blubb ".$_SESSION['auswahl1']." trallalla \n";[/src]

Kann mir einer verraten warum? :confused:
 
Zuletzt bearbeitet:

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Der Grund dafür ist in http://php.net/manual/en/language.types.string.php dokumentiert. In String-Literalen, welche durch einfache Anführungszeichen (') begrenzt werden, werden ausschliesslich die Escape-Sequenzen \\ (für \) und \' (für ') verarbeitet, während bei Verwendung doppelter Anführungszeichen (") u.a. \r und \n verarbeitet und Variablen expandiert werden.
 
Oben