Volltext: "Return-Path Probleme in PHP-Mails"
/* 0.1 - initial release 0.2 - new option: rewrite mail addresses with [at] and [dot] 0.3 - userdefined placeholders for [at] and [dot] 0.4 - new option: links can be open in new window (default: off) 0.5 - support for SqlTablePrefix */ class NP_AutoLink extends NucleusPlugin { function getName() { return 'AutoLink'; } function getAuthor() { return 'Kai Greve'; } function getURL() { return 'http://kgblog.de/'; } function getVersion() { return '0.5'; } function getDescription() { return 'Automatically creates links for internet and mail addresses'; } function install() { $this->createOption('InternetAddress','Automatically create links for internet addresses ?','yesno','yes'); $this->createOption('NewWindow','Open links in a new window?','yesno','no'); $this->createOption('MailAddress','Automatically create links for mail addresses ?','yesno','yes'); $this->createOption('RewriteMailAddress','Rewrite mail addresses with [at] and [dot]?','yesno','yes'); $this->createOption('at','Placeholder for @','text','[at]'); $this->createOption('dot','Placeholder for .','text','[dot]'); } function getEventList() { return array('PreItem', 'PreComment'); } function Treatment($_text) { global $CONF, $blog; if ($this->getOption('NewWindow') == 'yes') { $nw="onclick=\"javascript:window.open(this.href, '_blank'); return false;\""; } if ($this->getOption('InternetAddress') == 'yes') { $_text = preg_replace('/(\s)([http|https|ftp|file]+:\/\/[a-zA-Z0-9_?=&%;+-.\/]*)/si','\1\2',$_text); $_text = preg_replace('/(\s)(www\.[a-zA-Z0-9_?=&%;+-.\/]*)/si','\1\2',$_text); } $at = $this->getOption('at'); $dot = $this->getOption('dot'); if ($this->getOption('MailAddress') == 'yes') { if ($this->getOption('RewriteMailAddress') == 'no') { $_text = preg_replace('/(\s)([a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+\.[a-zA-Z]{2,5})/s','\1\2',$_text); } else { $_text = preg_replace('/(\s)([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]+)\.([a-zA-Z]{2,5})/s','\1\2'.$at.'\3'.$dot.'\4',$_text); } } if ($this->getOption('MailAddress') == 'no' && $this->getOption('RewriteMailAddress') == 'yes'){ $_text = preg_replace('/(\s)([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]+)\.([a-zA-Z]{2,5})/s','\1\2'.$at.'\3'.$dot.'\4',$_text); } return $_text; } function event_PreItem($_data) { $_data[item]->body = $this->Treatment($_data[item]->body); $_data[item]->more = $this->Treatment($_data[item]->more); } function event_PreComment($_data) { $_data['comment']['body'] = $this->Treatment($_data['comment']['body']); } function supportsFeature ($what) { switch ($what) { case 'SqlTablePrefix': return 1; default: return 0; } } } ?>14 March
Return-Path Probleme in PHP-Mails
Hier der korrekte Aufruf von mail."mail("email@domain.com", "Test PHP Mail", "Mail From PHP", "From: myemail@domain.com", "-fmyemail@domain.com");"
Warum das nötig ist? PHP setzt sonst Standardwerte, wie sie in der php.ini zu finden sind und dann wird es in der Mehrzahl aller Faelle nicht so einfach, auf eine solche Mail zu antworten. Ausserdem lassen manche Provider Mails ohne korrekt gesetzte Absenderadressen gar nicht erst duch den MTA bearbeiten.
Oft werden Mails aus PHP-Scripten gesendet, fast nie wird dabei der Return-Path korrekt gesetzt. Einige Server gehen dazu über, Mails in solchen Fällen nicht mehr zuzustellen, da viele Mailprogramme die Antworten an den Absender im Return-Path senden statt an den Absender im From (eine eher unschöne Mailflut für den Administrator des Servers).
[Druckversion direkt zum Drucker senden]
Geschrieben von harko um 13:01:12 Uhr - Kategorie: Technik
Karma: -4 [+/-]
Trackback
Derzeit keine Trackbacks vorhanden.
Mit dieser TrackBack url kann der Beitrag verlinkt werden (right-click, copy link target).
Wenn Ihr Blog keine Trackbacks anbietet, kann Ihr Trackback manuell durch dieses Formular eingebaut werden .
Comments
Noch keine Kommentare vorhanden.
Add Comments