note 46261 added to function.mail

From: Date: Tue, 05 Oct 2004 03:51:08 +0000
Subject: note 46261 added to function.mail
Groups: php.notes 
Request: Send a blank email to php-notes+get-78002@lists.php.net to get a copy of this message
Somebody reported changing the "\r\n" into "\n" which fixed their problem. I would have to strongly advise against this! The standard is "\r\n" and *will* work!! The problem is not in the "\r\n" in the body but I believe in PHP mail headers with mail(). You might have to implement a custom SMTP sendmail function with sockets. I'm going to do just this and report the results (and code) here in a few days. Here's what you need to do however to stick with the standard: Find mx record of recipient's email address domain with "getmxrr( )" Connect to port 25 Go through this protocol. You'll need to check the first digit of the 3 digit number you receive. I forget the exact standard, but 2's or 3's or good, and 5's are bad. I forget about the rest. :) //////////////////////////////////////////////// receive: 220 blahblahblah send: HELO whoYouAre<CRLF> (your ip address will do) receive: 250 blahblahblah send: MAIL FROM: <sender@example.com><CRLF> receive: 250 OK send: RCPT TO: <recipient@example.com><CRLF> receive: 250 OK send: DATA<CRLF> receive: 354 blahblahblah send: Blah blah blah...<CRLF> etc. etc. etc.<CRLF> etc. etc. etc.<CRLF> (if anyline begins with a period ".", add another period to the front; so ".blahipity" becomds "..blahipity") etc. etc. etc.<CRLF> <CRLF>.<CRLF> (a dot on a line by itself says you're done sending data. don't ask me, its just the standard) receive: 250 OK send: QUIT<CRLF> receive: 221 blahblahblah //////////////////////////////////////////////// And then as long as all your receives are ok (begin with 2 or 3), you're fine. If not then report an error. I'll post my code and it's results here in a couple days. - Jeremiah ---- Manual Page -- http://www.php.net/manual/en/function.mail.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+46261 Delete -- http://master.php.net/manage/user-notes.php?action=delete+46261&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+46261&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#78002) next »