RE: [PHP] mail() with mailing lists problem

2001-11-13 Thread Rudolf Visagie

True. I had the attachment outside of the function (encoding once) but this
is a leftover of debugging and trying to get it to work. I hadn't thought of
Bcc-ing everybody. I'll try that, thanks. Still doesn't solve the problem,
though. Maybe a socket is the answer.

-Original Message-
From: TD - Sales International Holland B.V. [mailto:[EMAIL PROTECTED]]
Sent: 12 November 2001 04:15
To: Rudolf Visagie
Subject: Re: [PHP] mail() with mailing lists problem


If you send the same message over and over wouldn't it be a LOT wiser to BCC

the rest of the people? This way you are MIME-encoding the attachment over 
and over which consumes a lot of resources. MIME-encoding a 10MB file will 
suck up a P-III 600 for 20 to 30 secs or so depending on other background 
processes and diskspeed. MIME encoding the same attachment a 1000 times 
doesn't appear really fast to me. Also, with all the headers you use, you 
could just as well open a socket to the SMTP service, then you could have 
additional error checking I guess...


Just some thoughts..

regards

On Monday 12 November 2001 13:47, you wrote:
 Hi All,

 While everybody is on this topic, here's a problem I have been having. I
 use mail() in a function in a loop to send e-mail with an attachment. The
 e-mails get sent out to the different recipients but only the last one
gets
 sent correctly. The rest loses the 'From:' somewhere so that the message
 ends up with the server name as from who and with the encoded attachment
 inside of the message body. Here's the function:

 function mail_attachment ($to, $subject, $message, $addr_from,
$attachment,
 $filename) {

   /*
   This function sends an e-mail with a file attachment using the
 standard
   PHP mail function with parameters $to, $subject and $message.
   The $attachment parameter is a string with the attachment file
 content with
   filename $filename.
   */

   $boundary = b.md5(uniqid(time()));
   $mime = From: $addr_from\n;
   $mime .= Reply-To: $addr_from\n;
   $mime .= X-Mailer: Digital Healthcare Solutions\n;
   $mime .= X-Sender: $addr_from\n;
   $mime .= Content-type: multipart/mixed; ;
   $mime .= boundary = $boundary\n\n;
   $mime .= This is a MIME encoded message.\n\n;
   // First the regular message
   $mime .= --$boundary\n;
   $mime .= Content-type: text/plain\n;
   $mime .= Content-Transfer-Encoding: base64;
   $mime .= \n\n.chunk_split(base64_encode($message)).\n;
   // Now the attachment
   $mime .= --$boundary\n;
   $mime .= Content-type: text/plain\n;
   $mime .= Content-Transfer-Encoding: base64\n;
   $mime .= Content-Disposition: attachment; ;
   $mime .= filename = .chr(34).$filename.chr(34);
   $mime .= \n\n.chunk_split(base64_encode($attachment)).\n;
   $mime .= --$boundary--;

   mail ($to, $subject, , $mime);
 }

 and here's the loop in which it gets called:

 $i = 0;
 while (isset($EmailAddress[$i])) {
   mail_attachment ($EmailAddress[$i], URGENT Communication,
 $message, $addr_from, $attachment, $filename);
   $i++;
 }

 Does anybody have any ideas?

 Rudolf Visagie
 Principal Software Developer
 Digital Healthcare Solutions
 Tel. +27(0)11 266 6946
 Fax. +27(0)11 266 5080
 Cell: +27(0)82 895 1598
 E-mail: [EMAIL PROTECTED]

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP] mail() with mailing lists problem

2001-11-13 Thread DL Neil

Rudolph,
Mail() is v.finicky!
Windows machines need more than the \n - what are you running?
Have you tried putting some string of characters into the (text) msg body?
Can you send us a copy of the actual email msg showing the headers etc (output as 
received at the POP/IMAP
server) - after clipping all/most of the encoded contents please?
=dn

- Original Message -
From: Rudolf Visagie [EMAIL PROTECTED]
To: TD - Sales International Holland B.V. [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: 13 November 2001 08:40
Subject: RE: [PHP] mail() with mailing lists problem


 True. I had the attachment outside of the function (encoding once) but this
 is a leftover of debugging and trying to get it to work. I hadn't thought of
 Bcc-ing everybody. I'll try that, thanks. Still doesn't solve the problem,
 though. Maybe a socket is the answer.

 -Original Message-
 From: TD - Sales International Holland B.V. [mailto:[EMAIL PROTECTED]]
 Sent: 12 November 2001 04:15
 To: Rudolf Visagie
 Subject: Re: [PHP] mail() with mailing lists problem


 If you send the same message over and over wouldn't it be a LOT wiser to BCC

 the rest of the people? This way you are MIME-encoding the attachment over
 and over which consumes a lot of resources. MIME-encoding a 10MB file will
 suck up a P-III 600 for 20 to 30 secs or so depending on other background
 processes and diskspeed. MIME encoding the same attachment a 1000 times
 doesn't appear really fast to me. Also, with all the headers you use, you
 could just as well open a socket to the SMTP service, then you could have
 additional error checking I guess...


 Just some thoughts..

 regards

 On Monday 12 November 2001 13:47, you wrote:
  Hi All,
 
  While everybody is on this topic, here's a problem I have been having. I
  use mail() in a function in a loop to send e-mail with an attachment. The
  e-mails get sent out to the different recipients but only the last one
 gets
  sent correctly. The rest loses the 'From:' somewhere so that the message
  ends up with the server name as from who and with the encoded attachment
  inside of the message body. Here's the function:
 
  function mail_attachment ($to, $subject, $message, $addr_from,
 $attachment,
  $filename) {
 
  /*
  This function sends an e-mail with a file attachment using the
  standard
  PHP mail function with parameters $to, $subject and $message.
  The $attachment parameter is a string with the attachment file
  content with
  filename $filename.
  */
 
  $boundary = b.md5(uniqid(time()));
  $mime = From: $addr_from\n;
  $mime .= Reply-To: $addr_from\n;
  $mime .= X-Mailer: Digital Healthcare Solutions\n;
  $mime .= X-Sender: $addr_from\n;
  $mime .= Content-type: multipart/mixed; ;
  $mime .= boundary = $boundary\n\n;
  $mime .= This is a MIME encoded message.\n\n;
  // First the regular message
  $mime .= --$boundary\n;
  $mime .= Content-type: text/plain\n;
  $mime .= Content-Transfer-Encoding: base64;
  $mime .= \n\n.chunk_split(base64_encode($message)).\n;
  // Now the attachment
  $mime .= --$boundary\n;
  $mime .= Content-type: text/plain\n;
  $mime .= Content-Transfer-Encoding: base64\n;
  $mime .= Content-Disposition: attachment; ;
  $mime .= filename = .chr(34).$filename.chr(34);
  $mime .= \n\n.chunk_split(base64_encode($attachment)).\n;
  $mime .= --$boundary--;
 
  mail ($to, $subject, , $mime);
  }
 
  and here's the loop in which it gets called:
 
  $i = 0;
  while (isset($EmailAddress[$i])) {
  mail_attachment ($EmailAddress[$i], URGENT Communication,
  $message, $addr_from, $attachment, $filename);
  $i++;
  }
 
  Does anybody have any ideas?
 
  Rudolf Visagie
  Principal Software Developer
  Digital Healthcare Solutions
  Tel. +27(0)11 266 6946
  Fax. +27(0)11 266 5080
  Cell: +27(0)82 895 1598
  E-mail: [EMAIL PROTECTED]

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 To contact the list administrators, e-mail: [EMAIL PROTECTED]




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP] mail() with mailing lists problem

2001-11-12 Thread Rudolf Visagie

Hi All,

While everybody is on this topic, here's a problem I have been having. I use
mail() in a function in a loop to send e-mail with an attachment. The
e-mails get sent out to the different recipients but only the last one gets
sent correctly. The rest loses the 'From:' somewhere so that the message
ends up with the server name as from who and with the encoded attachment
inside of the message body. Here's the function:

function mail_attachment ($to, $subject, $message, $addr_from, $attachment,
$filename) {

/*
This function sends an e-mail with a file attachment using the
standard
PHP mail function with parameters $to, $subject and $message.
The $attachment parameter is a string with the attachment file
content with
filename $filename.
*/

$boundary = b.md5(uniqid(time()));
$mime = From: $addr_from\n;
$mime .= Reply-To: $addr_from\n;
$mime .= X-Mailer: Digital Healthcare Solutions\n;
$mime .= X-Sender: $addr_from\n;
$mime .= Content-type: multipart/mixed; ;
$mime .= boundary = $boundary\n\n;
$mime .= This is a MIME encoded message.\n\n;
// First the regular message
$mime .= --$boundary\n;
$mime .= Content-type: text/plain\n;
$mime .= Content-Transfer-Encoding: base64;
$mime .= \n\n.chunk_split(base64_encode($message)).\n;
// Now the attachment
$mime .= --$boundary\n;
$mime .= Content-type: text/plain\n;
$mime .= Content-Transfer-Encoding: base64\n;
$mime .= Content-Disposition: attachment; ;
$mime .= filename = .chr(34).$filename.chr(34);
$mime .= \n\n.chunk_split(base64_encode($attachment)).\n;
$mime .= --$boundary--;

mail ($to, $subject, , $mime);
}

and here's the loop in which it gets called:

$i = 0;
while (isset($EmailAddress[$i])) {
mail_attachment ($EmailAddress[$i], URGENT Communication,
$message, $addr_from, $attachment, $filename);
$i++;
}

Does anybody have any ideas?

Rudolf Visagie
Principal Software Developer
Digital Healthcare Solutions
Tel. +27(0)11 266 6946
Fax. +27(0)11 266 5080
Cell: +27(0)82 895 1598
E-mail: [EMAIL PROTECTED]

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]