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(...); } -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php