February 12th, 2004, 03:24 AM
maximum char in pipe?, Can't get long strings to go through
Okay this is driving me nuts. My health is suffering, my boss is PISSED.
I made this slick little mailing list manager in PHP and I was all excited about it! It takes an email message from standard in and based on criteria in the subject (ex. [my_fav_users] my subject here) it queries the DB and sends out the emails. Handles both HTML and plain text in multipart emails.
the process is something like:
1. User sends email to firstname.lastname@example.org
2. in the aliases file there is an alias:
I thought it was a well oiled machine until the first live run. After 6 hours of debugging trying to find what was creating the error, I realized it was the length of the email. If it's over 1670 charachters or so, my script doesn't even receive it.
I log the activity comming into do_mailing.php so I know that these longer mails are not getting through. THey aren't even getting to the script, it's a problem with relaying it.
But this is how mailman does it, what is the problem?
February 12th, 2004, 04:10 PM
What MTA (or mail server) are you using?
February 12th, 2004, 04:36 PM
February 12th, 2004, 05:35 PM
Upgrade to qmail (instructions here). More security, more reliability, no random limits.
You need to post your PHP script as well, so we can verify that there isn't something obvious in there causing the problem with longer emails.
Last edited by alexgreg; February 12th, 2004 at 05:41 PM.
February 12th, 2004, 10:38 PM
I can't justify an upgrade just for othe mentioned benefits, sendmail works fine, it's a busy server and I don't want to screw around really. If I knew that it was indeed impossible with sendmail (which I'm pretty sure it's not because mailman uses a simular procedure) I would consider upgrading.
I could post the script, but i'm sure it's not the problem because I have the following 2 lines at the top of the script:
So I know if the script runs or not. It is seriously the difference of one char too much in the mail.
$fp = fopen("/var/log/mailing_list/run_log","a");