"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[php] problem mit mail()

Martin 17.04.2003 - 16:53 1505 16
Posts

Martin

Big d00d
Registered: Jun 2000
Location: Stuttgart
Posts: 261
moin :>

emails, die mit einem minus ( - ) beginnen, kann mail() nicht verschicken, also z.b. protected oda sowas. das - wird als parameter oda sowas interpretiert... es gibt ja da -f .....

mhh, wie könnt ich dieses prob denn umgehen bzw lösen?

gibts denn einen anderen befehl zum verschicken von mails ausser mail() ?
Bearbeitet von Martin am 17.04.2003, 20:34

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Martin
moin :>

emails, die mit einem minus ( - ) beginnen, kann mail() nicht verschicken, also z.b. protected oda sowas. das - wird als parameter oda sowas interpretiert... es gibt ja da -f .....

mhh, wie könnt ich dieses prob denn umgehen bzw lösen?

gibts denn einen anderen befehl zum verschicken von mails ausser mail() ?
wenn ich mich nicht irre darf eine email addi nur mit einem buchstaben beginnen?? du könntest auf jeden fall probieren das "-" zu escapen

Martin

Big d00d
Registered: Jun 2000
Location: Stuttgart
Posts: 261
bei web.de kann man so blöde emailaddys anlegen ! :/ leider.....
und wenn ich solche addressen verbiete wär das auch nicht gut , find ich. ich hätte gern ne richtige lösung und ich weiss auch , dass es eine gibt, weil ich mich bei einer page mit so einer adresse anmelden konnte und hab ne email bekommen.....

irgendwie gehts... und wie , das soll mir einer von euch sagen =)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von watchout
du könntest auf jeden fall probieren das "-" zu escapen
zb: preg_replace("/^-/","\-",$mailaddi) - für etwaige fehler im code übernehme ich keine verantwortung...

Martin

Big d00d
Registered: Jun 2000
Location: Stuttgart
Posts: 261
ich hab das mal probiert.... aba das bringt auch nix...
die mail sieht dann halt so aus :

\-bla-@web.de

trotzdem kommt nix an.

edit:

ich habs jetzt auch mal mit sendmail versucht. das gleiche ergebnis :/

mails an addressen mit - davor kommen nicht an....

edit2:

so... jetzt weiss ich noch mehr...
erstmal der code :

Code: PHP
$mail = "-loel-@web.de";
$fp = popen("/usr/sbin/sendmail -t -f [email]cia-rush@gmx.de[/email]","w");
fputs($fp, "To: " . $mail . "\n");
fputs($fp, "Wrom: SQHYUCDDJBLVLMHAALPT
fputs($fp, "Subject: test\n\n");
fputs($fp, "moin,\n");
fputs($fp, "test");
pclose($fp);


ich bekomm den fehler dann zugesendet. in der mail steht dann :

<-loel-@web.d>>: invalid recipient syntax: "-loel-@web.d>"

d.h. das "e" wird in ein ">" umgewandelt. das hängt mit dem - am anfang zusammen... mhh... wie kann ich das denn jetzt umgehen? ^^
Bearbeitet von Martin am 17.04.2003, 23:30

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
weisst du eigentlich was das -f am anfang macht? ich hab nämlich keinen blassen schimmer vom dunst einer ahnung, vielleicht hilfts aber wenn du fix ein -f davor stellst??

Martin

Big d00d
Registered: Jun 2000
Location: Stuttgart
Posts: 261
fp = popen("/usr/sbin/sendmail -t -f protected","w");

falls die mail nicht ankommt, wird der error an die mail nach dem -f geschickt, also protected

aba mein prob is irgendwie doch anders.
wenn man z.b.
<a href="mailto:-loel-@web.de">-loel-@web.de</a>
macht dann sieht man da kommt dann

-loel-@web.d> raus :\

edit: mhh... is doch nich so :D aba ich hatte son prob schonmal.... :)
Bearbeitet von Martin am 18.04.2003, 00:05

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
mach mal vor und nach email ein leerzeichen, das hab ich in nem comment auf php.net mal gesehn iirc...

oder funkts jetz so??

Martin

Big d00d
Registered: Jun 2000
Location: Stuttgart
Posts: 261
die leerzeichen haben nicht geholfen :\

edit :
ich wollt nur nochmal sagen, dass man das irgendwie schaffen kann ^^
ich hab mich mit dieser email bei einer page registriert und hab auch ne mail bekommen.. also irgendwie muss es gehen :)
Bearbeitet von Martin am 18.04.2003, 00:33

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
eh... geil :D

ich hab jetz echt keinen plan mehr was du machen könntest... :rolleyes:

hmm, vielleicht hilft folgendes:
Zitat
mindplay(at)mindplay(dot)dk
12-Aug-2002 11:42

I recently had to spend a lot of time finetuning a function for mail() which would work properly on both Linux and Win32 server. Here's the wrapper function, which should solve all (or most) of the common problems that beginners run into:

function send_mail($myname, $myemail, $contactname, $contactemail, $subject, $message) {
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "X-Priority: 1\n";
$headers .= "X-MSMail-Priority: High\n";
$headers .= "X-Mailer: php\n";
$headers .= "From: \"".$myname."\" <".$myemail.">\n";
return(mail("\"".$contactname."\" <".$contactemail.">", $subject, $message, $headers));
}

This has been tested with both Linux (qmail) and Win32 (ezmts) mail servers, and worked perfectly well. Note that the two headers "X-Priority" and "X-MSMail-Priority", can be left out - but they will help overcome some of the more aggressive spam filtering systems (hotmail, yahoo mail, ...) and ensures your mail is delivered.

Also note that you should use \n for new lines in the body of your message - not \r or \r\n ... these don't work on all mail servers, but apparently \n does.

Finally, here's an example of using the function, sending an email from "the company" to "the customer":

if (send_mail("Company", "person@company.com", "Customer", "customer@server.com", "This is a test", "This is a test\nOne two three four\nBlah blah blah\nThis is a test!")) {
print "SENT!";
} else {
print "FAILED!";
}
quelle: http://www.php.net/manual/de/function.mail.php (recht weit unten bei den comments)

Martin

Big d00d
Registered: Jun 2000
Location: Stuttgart
Posts: 261
hehe, das hab ich auch schon probiert =)
hat nix gebracht.....
es kam zwar SENT aba es kam nix an :)

edit :

das ist auch wohl mein problem. ich hab im body zwar nicht From aber ein minus in der empfängermail.

Zitat
shena at darklock dot com
31-Dec-2002 02:52

Ok, two things:

1) if you are writing sentences in your message body that start with "From" then edit them to start with something else. Sentences cannot start with "From" in the message body or they will end up with a > in front of them. This is to differentiate them from the header "From" and so it is a feature, not a bug, although for months I thought it was the latter!

2) If you are trying to check whether or not your mail has been sent using something similar to this:

$result = mail(etc);

and the $result is consistently coming back as FALSE even though the mail was indeed sent, then it is likely that your mail agent is returning an error code after sending mail. This is likely due to a misconfiguration in the agent. I use sendmail, and it was returning an error about not finding localip.db file every time mail was sent, and this was confusing mail(). It kept returning FALSE even though the mail was sent. I corrected the sendmail configuration and then mail() would return TRUE correctly when mail was sent.

That was ANOTHER problem I thought for sure was a bug for a long time - when I figured out what it was, I realized it was simply a shortcoming in mail().

quelle : http://www.php.net/manual/en/function.mail.php#AEN43916
(noch weiter unten als in watchouts post :D )
Bearbeitet von Martin am 18.04.2003, 00:41

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
@martin: bäh, hab ich auch schon gelesen :p :D

tja, ich tät jetz mal sagen: news://news.php.net/ und have fun ;)

Martin

Big d00d
Registered: Jun 2000
Location: Stuttgart
Posts: 261
argh... das is bitter :D
ich kümmer mich jetzt schon seit 2 tagen intensiv um dieses prob und bin immer noch zu keiner alternativen lösung gekommen, ausser mails mit - am anfang zu verbieten....... :\
gibts denn in diesem forum keinen, der sich mit sowas auskennt ? ^^

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
tja, also wenn nichtmal _ich_ dir helfen kann :D

nana... ich kanns nicht sagen, entweder du wartest bissal, vielleicht rührt sich noch wer, atrox und vivo kennen sich recht gut aus, ne pm an' dere könnte dir _vielleicht_ auch helfen :p @ dere

ich tät dir trotzdem die newsgroup empfehlen, ein schneller blick hat weder in der bug-database, noch in der newsgroup was gefunden ;)

Martin

Big d00d
Registered: Jun 2000
Location: Stuttgart
Posts: 261
mh ja... is ja auch kein bug :)
steht ja oben .....
naja ich warte einfach mal und such noch ein bisschen weiter :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz