i tried it using the 5th parameter with -odd and the mail got qued but i also need to 
set [EMAIL PROTECTED] (so i get those bounces) but i got <[EMAIL PROTECTED] -odd> for the 
return path in the email. 

i then tried it with the -odd first and it qued the mail but didn't set the return 
path, i also want to set it so it only returns the headers using -Rhdrs so need to set 
3 options when sendmail is called.

can you set multiple options with the 5th parameter? i would have thought it would 
append the stuff in the 5th to the sendmail path set in php.ini but it doesn't seem to 
work that way.

i can do this fine by using popen() and adding the parameters to the path so i can't 
see why it doesn't play with the mail function.

Paul Roberts
http://www.paul-roberts.com
[EMAIL PROTECTED]
++++++++++++++++++++++++



----- Original Message ----- 
From: "Manuel Lemos" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, August 17, 2002 2:36 AM
Subject: [PHP] Re: Bulk Email [solution found!]


> Hello,
> 
> On 08/16/2002 05:37 PM, Daren Cotter wrote:
> > First, a recap of my problem:
> > 
> > I need to send personalized emails to my member list
> > on a daily basis. I use PHP to query the MySQL
> > database, and loop through the results using the
> > mail() function. Problem: very slow, browser/php times
> > out, etc.
> > 
> > Solution:
> > 
> > First, I configure sendmail to use "queueonly" as the
> > DeliveryMethod (see sendmail.cf) instead of
> > "background". Then, when my PHP script runs, mailings
> > simply get queued instead of actually delivered. This
> > is a x10 speed increase. My script queues
> > approximately 1,000 mailings per minute (a x10 speed
> > increase). Then, I modified the
> > /etc/rc.d/init.d/sendmail script to process the queue
> > every 5 minutes, instead of the default one hour. This
> > insures that the mailings actually get sent soon after
> > they're queued, and you won't have to wait for
> > important emails to come through.
> 
> As I mentioned before this solution is set for disaster as you grow into 
> larger number of recipients. The problem is that queuing separate 
> messages for each recipient will fill up your disk. But that is not all. 
> The eventual message bounces that you will get will only aggravate your 
> problem. If you can live without personalization, don't think twice, 
> forget it. If you have doubts, think again.
> 
> 
> 
> > The problem with the above solution used to be this:
> > certain emails generated from my site (welcome emails,
> > password lookup emails, etc) need to be sent
> > IMMEDIATELY, and cannot wait in the queue for 5
> > minutes. The solution for this: not using the built-in
> > mail() command in PHP. I created my own mail script
> > (by modifying something someone else already did)
> > which opens a socket directly with the mail server.
> > Code is below.
> > 
> > // Sends the email directly to the mail server using
> > SMTP. This is done
> > // so sendmail can be setup using the queue method on
> > the server, and
> > // confirmation emails, etc, can be sent immediately
> > to the member.
> > function smtp_mail($to, $from_name, $from_email,
> > $reply_to_email, $subject, $body) {
> > $smtp = fsockopen("your_mail_server_here", 25);
> 
> I am not sure that sending to the local mailer queue via SMTP would be 
> any better than using sendmail itself to put the message there. Anyway, 
> I am afraid that the message will still wait for sendmail to process it
> 
> 
> > if ($smtp == 0)
> > return 0;
> > fputs($smtp,"helo
> > machines_host_and_domain_name_here\r\n");
> > $line = fgets($smtp, 1024);
> > fputs($smtp,"mail from: $from_email\r\n");
> > $line = fgets($smtp, 1024);
> > fputs($smtp,"rcpt to: $to\r\n");
> > $line = fgets($smtp, 1024);
> > fputs($smtp,"data\r\n");
> > $line = fgets($smtp, 1024);
> > fputs($smtp,"From: $from_name <$from_email>\r\n");
> > fputs($smtp,"Reply-To: $reply_to_email\r\n");
> > fputs($smtp,"To: $to\r\n");
> > fputs($smtp,"Subject: $subject\r\n");
> > fputs($smtp,"\r\n");
> > fputs($smtp,"$body\r\n");
> > fputs($smtp,".\r\n");
> > $line = fgets($smtp, 1024);
> > fputs($smtp, "QUIT\r\n");
> > fclose($smtp);
> > return 1;
> > }
> 
> I am afraid this code needs a lot of work or else it will choke on some 
> servers due to multi-line responses, maybe not on the actual sendmail 
> version and configuration you are using, but definetely on some SMTP 
> servers.
> 
> 
> -- 
> 
> Regards,
> Manuel Lemos
> 
> 
> -- 
> 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

Reply via email to