E-Mail mit -f-Option (Newsletter, Kontakt, e.g. Hosteurope)

Gesperrt
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

E-Mail mit -f-Option (Newsletter, Kontakt, e.g. Hosteurope)

Beitrag von HerrB » Mo 24. Apr 2006, 14:08

Ein Tipp zu Hosteurope (und anderen Providern):
Hosteurope erwartet beim Senden von E-Mails, dass
a) die Absender-Adresse existiert (und bei ihnen liegt) und dass
b) diese bei der Standard-PHP-Mail-Funktion als Option "-f" angegeben wird.

In Contenido kann eine Mail auf zwei verschiedenen Wegen versendet werden:
1. Via PHP-Mail-Funktion: mail(...)
2. Via class.phpmailer.php: $mail->Send()

Zu 1.:
Wird im Modul die erste Variante verwendet, ist der Absender zusätzlich als -f-Option anzugeben:

Code: Alles auswählen

mail(<Empfänger-E-Mail>, <Subject>, <Body>, "From: absender@domain.tld", "-f absender@domain.tld");
Beispiel Modul-Änderung:
Alt:

Code: Alles auswählen

mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion()); 
Neu:

Code: Alles auswählen

mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion(),"-f".$this->email['from']['email']);
Zu 2.:
Wird die zweite Variante verwendet (es findet sich ein include der class.phpmailer.php im Code, d.h. die PHPMailer-Klasse wirdverwendet), ist explizit der "Sender" zu definieren - diese Angabe wird als "-f"-Option dann angefügt. Standardmäßig ist "Sender" leer und wird damit nicht beigefügt.

Beispiel ($mail ist PHPMailer-Objekt):

Code: Alles auswählen

$mail->Sender = "absender@domain.tld";
Das betrifft natürlich die Newsletter-Module, Form-Mailer und natürlich das Senden der Newsletter aus Contenido.

Beispiel für Newsletter-Module und -Dateien:
Newsletter Handler-Modul:
Ausgabe: Unterhalb jedes "$mail->From/ $mail->FromName"-Blocks den Sender festlegen:

Code: Alles auswählen

      $mail->From       = $arrSettings["SenderEMail"];
      $mail->FromName   = $arrSettings["SenderEMail"];
      $mail->Sender     = $arrSettings["SenderEMail"]; // , "-f somebody@domain.tld"
class.newsletter.php:
Unter

Code: Alles auswählen

								$mail->From = $from;
								$mail->FromName = $from;
den Sender festlegen:

Code: Alles auswählen

								$mail->From = $from;
								$mail->FromName = $from;
								$mail->Sender = $from;
Stichworte: Newsletter, mail(, -f-Option, Hosteurope, Kontakt, Kontaktformular, wird nicht gesendet.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 15. Jun 2006, 11:23

@HerrB
ad.2 liesse sich das nicht direkt in der contenido klasse ändern ? ich meine das man diese option default in den core dazu rein baut...
*** make your own tools (wishlist :: thx)

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 15. Jun 2006, 13:04

Diesen Vorschlag habe ich gerade mit 4fb angesprochen - und wurde genehmigt (wird eine Systemeinstellung).

Wird die entsprechende Einstellung gesetzt, verwendet die class.phpmailer.php bei fehlender Sender-Angabe die Absender-Angabe...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 15. Jun 2006, 15:23

Im CVS aufgenommen (Systemeinstellung. Typ: phpmailer, Name: mail_set_f_option, Value: true).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Gesperrt