PHP piping mail to sendmail quickly


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers PHP piping mail to sendmail quickly
# 1  
Old 03-11-2006
PHP piping mail to sendmail quickly

In order to prevent any php processes on our web server from waiting
for sendmail hangups (name resolution issues, etc), we wrap sendmail
in a simple shell script and push it to the background and disown the
process so that any php script on our site can continue on processing
code and not have to wait for sendmail to return.

So, in php.ini we have the following setting:

sendmail_path = "/usr/local/bin/phpsendmail.sh -t -i"

and in phpsendmail.sh we have the following:

#!/bin/bash
cat /dev/stdin | /usr/bin/sendmail "$@" &


The problem we are encountering is that it seems to take quite a while
(in computer time) for a lengthy (50K) text email to actually get
piped into sendmail this way. When a script pushes out 20 emails of
this size, we are seeing it take approximately 20-25 seconds. We have
some background processes that send need to send batched email from a
database table (for immediate delivery, not queued) and we would like
to speed the process up, while still using this concept of pushing
each sendmail process out to the background. What can we do to speed
up the process of piping this information through the wrapper script
and into the sendmail process?

Thanks in advance for any advice....

GM
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Web Development

Gmail very slow to receive Sendmail/PHP Mail

Okay, I have searched the forums and couldn't really find a topic on this, so I decided to start one. But I decided to start a ncurses discussion forum recently and one thing I noticed while getting it going is that when mail is sent out via Sendmail or PHP Mail, Gmail is /very/ slow to receive it.... (2 Replies)
Discussion started by: Phobos D'thorga
2 Replies

2. Proxy Server

How to send mail (sendmail) for php mail()?

PHP mail() function doesn't work. Nor does sendmail: loaded system configuration file /etc/msmtprc ignoring user configuration file /home/xi/.msmtprc: No such file or directory falling back to default account using account default from /etc/msmtprc host = xsi port = 25 proxy host = (not... (1 Reply)
Discussion started by: Xcislav
1 Replies

3. Shell Programming and Scripting

mail or sendmail ?

1. I need to send emails using a shell script on linux. I want to use the most widespread method (the preferred method). Is one considered deprecated in favor of the other? Which, mail or sendmail ? 2. Now, without trying to favor mail in the first question: How can I include a From: mail... (1 Reply)
Discussion started by: limmer
1 Replies

4. UNIX for Advanced & Expert Users

Piping Mail with Exim Only Works Locally

Whenever I send an email to my catchall alias via SSH (i.e., locally), Exim successfully pipes the e-mail to a PHP script, as I told it to do. However, when I try to send an e-mail to my catchall alias via my e-mail client (i.e., remotely), Exim won't pipe the e-mail. Any ideas? My exim.conf... (0 Replies)
Discussion started by: Zhay
0 Replies

5. Linux

Restrict mail from Sendmail

Hello All, i have configured sendmail and trying to set a limit on mail Ex: If i have send any mail to a email-if that doesn'e exists, i want that after trying for 3 days it should stops sending that mail to user and send a mail to the sender that " sending mail failed , any messaged... (1 Reply)
Discussion started by: saurabh84g
1 Replies

6. Shell Programming and Scripting

piping output from PHP file into variable

Hi. I have a script like so: #!/bin/bash download='php /var/www/last.php' echo $download if $downloadHow do I pipe the output of the php file into a variable, as when i run the if statement, it just echos the file output to the screen and does not actually consider the output (it will be... (2 Replies)
Discussion started by: daydreamer
2 Replies

7. Solaris

sendmail mail server help

Hello guys, Am trying to enable/start sendmail in Solaris 10. I tried using scvadm and also did it using the /etc/init.d/sendmail restart but no effect. Just returns to the prompt. No errors nothing. I checked if it is running using ps -eaf | grep sendmail, not running :( . I checked the logs... (9 Replies)
Discussion started by: rcmrulzz
9 Replies

8. UNIX for Dummies Questions & Answers

need solution for this quickly. please quickly.

Write a nawk script that will produce the following report: ***FIRST QUARTERLY REPORT*** ***CAMPAIGN 2004 CONTRIBUTIONS*** ------------------------------------------------------------------------- NAME PHONE Jan | ... (5 Replies)
Discussion started by: p.palakj.shah
5 Replies

9. UNIX for Dummies Questions & Answers

Sendmail - forwarding mail

quick question. I have a webserver that has various scripts for user registration and ect on it. I want to post (mail) these to myself - however I am a bit stuck on how to configure sendmail to do this. The hosting partner that I use has provided me with the use of their relay to send on the... (1 Reply)
Discussion started by: warrend
1 Replies

10. UNIX for Dummies Questions & Answers

blocking mail using sendmail

Hi, I am using sendmail 8.9.1 and trying to block email from certain domain/user. How could I do that? TQ (4 Replies)
Discussion started by: liyas
4 Replies
Login or Register to Ask a Question
MAILER.CONF(5)						      BSD File Formats Manual						    MAILER.CONF(5)

NAME
mailer.conf -- configuration file for mailwrapper(8) DESCRIPTION
The file /etc/mail/mailer.conf contains a series of lines of the form name program [arguments ...] The first word of each line is the name of a program invoking mailwrapper(8). (For example, on a typical system /usr/sbin/sendmail would be a symbolic link to mailwrapper(8), as would newaliases(1) and mailq(1). Thus, name might be ``sendmail'' or ``newaliases'' etc.) The second word of each line is the name of the program to actually execute when the first name is invoked. The further arguments, if any, are passed to the program, followed by the arguments mailwrapper(8) was called with. The file may also contain comment lines, denoted by a '#' mark in the first column of any line. FILES
/etc/mail/mailer.conf EXAMPLES
This example shows how to set up mailer.conf to invoke the traditional sendmail(8) program: # Execute the "real" sendmail program located in # /usr/libexec/sendmail/sendmail sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail This example shows how to invoke a sendmail-workalike like Postfix in place of sendmail(8): # Emulate sendmail using postfix sendmail /usr/local/sbin/sendmail send-mail /usr/local/sbin/sendmail mailq /usr/local/sbin/sendmail newaliases /usr/local/sbin/sendmail This example shows how to invoke a sendmail-workalike with Exim (from ports) in place of sendmail(8): # Emulate sendmail using exim sendmail /usr/local/sbin/exim send-mail /usr/local/sbin/exim mailq /usr/local/sbin/exim -bp newaliases /usr/bin/true rmail /usr/local/sbin/exim -i -oee This example shows the use of the mini_sendmail package from ports in place of sendmail(8). Note the use of additional arguments. # Send outgoing mail to a smart relay using mini_sendmail sendmail /usr/local/bin/mini_sendmail -srelayhost send-mail /usr/local/bin/mini_sendmail -srelayhost SEE ALSO
mail(1), mailq(1), newaliases(1), mailwrapper(8), sendmail(8) postfix(1) (ports/mail/postfix), mini_sendmail(8) (ports/mail/mini_sendmail) HISTORY
mailer.conf appeared in NetBSD 1.4. AUTHORS
Perry E. Metzger <perry@piermont.com> BUGS
The entire reason this program exists is a crock. Instead, a command for how to submit mail should be standardized, and all the "behave dif- ferently if invoked with a different name" behavior of things like mailq(1) should go away. BSD
October 8, 2010 BSD