why bother, i use available good library http://swiftmailer.org/ On 10/6/09, Jim Lucas <lists@xxxxxxxxx> wrote: > Eddie Drapkin wrote: >> On Mon, Oct 5, 2009 at 8:48 PM, Jim Lucas <lists@xxxxxxxxx> wrote: >>> Here is a problem that I have had for years now. I have been trying to >>> come up >>> with the perfect solution for this problem. But, I have come down to two >>> different methods for solving it. >>> >>> Here is the problem... >>> >>> <?php >>> >>> function sendEmail( >>> $to, >>> $from, >>> $subject, >>> $body, >>> $attachments=array(), >>> $headers=array() >>> ) { # I typically do not put each argument on seperate lines, but I >>> ran >>> #out of width in this email... >>> >>> # do something here... >>> mail(...); >>> >>> } >>> >>> sendEmail('john@xxxxxxx', >>> 'marykate@xxxxxxxx', >>> 'Hi!', >>> 'Check out my new pictures!!!', >>> $hash_array_of_pictures >>> ); >>> >>> Now, we all have a function or method like this floating around >>> somewhere. >>> >>> My question is, how do YOU go about setting the required entries of the >>> $headers >>> array() ? >>> >>> I see three possible solutions. I want to see a clean and simple >>> solution. >>> >>> Here are my ideas so far: >>> >>> function sendEmail( >>> $to, >>> $from, >>> $subject, >>> $body, >>> $attachments=array(), >>> $headers=array() >>> ) { # I typically do not put each argument on seperate lines, but I >>> ran >>> #out of width in this email... >>> >>> if ( empty($headers['Date']) ) { >>> $headers['Date'] = date('c'); >>> } >>> if ( empty($headers['Message-ID']) ) { >>> $headers['Date'] = md5($to.$subject); >>> } >>> # and the example goes on... >>> >>> # do something here... >>> mail(...); >>> >>> } >>> >>> Or, another example. (I will keep it to the guts of the solution now) >>> >>> $headers['Date'] = empty($headers['Date']) ? >>> date('c') : $headers['Date']; >>> $headers['Message-ID'] = empty($headers['Message-ID']) ? >>> md5($to.$subject) : $headers['Message-ID']; >>> >>> OR, yet another example... >>> >>> $defaults = array( >>> 'Date' => date('c'), >>> 'Message-ID' => md5($to.$subject), >>> ); >>> >>> $headers += $defaults; >>> >>> END of examples... >>> >>> Now, IMO, the last one is the simplest one and for me, I think it will be >>> the >>> new way that I solve this type of problem. >>> >>> But, my question that I put out to all of you is... >>> >>> How would you solve this problem? >>> >>> TIA >>> >>> Jim Lucas >>> >>> -- >>> PHP General Mailing List (http://www.php.net/) >>> To unsubscribe, visit: http://www.php.net/unsub.php >>> >>> >> >> How does this look to you? >> >> function sendEmail( >> $to, >> $from, >> $subject, >> $body, >> $attachments=array(), >> $headers=array() >> ) { >> # I typically do not put each argument on seperate lines, but I ran >> #out of width in this email... >> >> $default_headers = array( >> 'Date' => date('c'), >> 'Message-ID' => md5($to.$subject) >> ); >> >> $headers = array_merge($default_headers, $headers); >> # and the example goes on... >> >> # do something here... >> mail(...); >> >> } >> > > Good, since it is a combination of the examples I gave. > > I am looking at how you would solve the problem. Unless this is the way you > would solve the > problem.. :-D > > Jim > > -- > Jim Lucas > > "Some men are born to greatness, some achieve greatness, > and some have greatness thrust upon them." > > Twelfth Night, Act II, Scene V > by William Shakespeare > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php