Eddie Drapkin wrote:
On Mon, Oct 5, 2009 at 8:48 PM, Jim Lucas <li...@cmsws.com> 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('j...@doe.com',
   'maryk...@uhhh.net',
   '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

Reply via email to