[ZendTo] Re: Return-Path change

Jules Jules at Zend.To
Wed Sep 22 18:53:01 BST 2010



On 22/09/2010 17:55, Brad Beckenhauer wrote:
> Jules,
> All very true, I was only looking at this from the zendto vm position
I really don't want to have to fork the code to do this.
> and documenting what I've found to date.   I'll keep looking to see if 
> I can figure out where the issue lies and hopefully just use the PHP 
> code at hand.  Like you, I don't want to have to modify the MTA 
> settings either if it can be avoided.
Many thanks! Let me know anything you find.

Cheers,
Jules.
> thanks for your thoughts.
> Brad
>
> >>> On 9/22/2010 at 11:06 AM, in message <4C9A299F.5080108 at Zend.To>, 
> Jules <Jules at zend.to> wrote:
> The problem is that people might not have sendmail installed (or even 
> a program which fakes it, like Postfix does). I would rather use the 
> PHP function call as the PHP build on the machine will have been done 
> correctly for that type of system, working around it is usually a bad 
> idea.
>
> Also, sendmail is often not present in /usr/lib (that's there for 
> ancient historical reasons, not appreciated by all modern system 
> builders).
>
> So I'm reluctant to call sendmail directly, as that's avoiding all the 
> (sensible) logic in the PHP configuration script when PHP is built on 
> that system.
>
> On true sendmail systems (and not necessarily on other mail systems 
> that fake the sendmail binary), the Return-Path header will be set in 
> the sendmail.cf file. The last thing I want is for people to have to 
> edit their sendmail.cf file, they shouldn't have to do that for an app 
> which is just trying to send mail and not process it.
>
> Jules.
>
> On 22/09/2010 16:06, Brad Beckenhauer wrote:
>> Ok,
>> I'm not a PHP programmer, but I researched this issue and found this 
>> reported issue as a bug on the PHP Solaris forum back in 2004.
>> http://bugs.php.net/bug.php?id=29122
>> I also applied the code presented in the above bug trac and 
>> substituted the logic from the bug trac with the mail() logic and 
>> the Return-Path works (Diff below).
>> I uncompressed the Julian's php rpm package in the Zendto centos-64 
>> vm and found that the bug was not present in that package, so the 
>> issue appears to be an interaction issue between sendmail and PHP.   
>> Either sendmail is not accepting the Return-Path or PHP is not 
>> providing (or providing incorrectly) the Return-path to sendmail.
>> I also downloaded the current PHP 5.2 build and grep'd for the bad 
>> code noted in the bug trac that the bug was not present in that package.
>> Julian,
>> As usual, I'll defer to you on what you'd like to do as far as final 
>> code changes.   I'm just reporting my discoveries for you.
>> I used Zendto to send an package to a fictitious, non-existent email 
>> account and received a bounce back to my email account from my MTA 
>> with the original Zendto message attached.  Yea!!!
>> Below is the diff file for the changes I made that worked, you 
>> previously used a return statement and this does not and my cause issues.
>> Please let me know what changes you make to the code.
>> have a good day
>> Brad
>> --- NSSDropbox.php.original  2010-09-21 17:20:10.000000000 -0500
>> +++ NSSDropbox.php      2010-09-22 08:58:28.000000000 -0500
>> @@ -678,14 +678,14 @@
>>      $content
>>    )
>>    {
>> -    return mail(
>> -              $toAddr,
>> -              $subject,
>> -              $content,
>> -              ($fromAddr==""?"":sprintf("From: %s\r\nReply-to: %s\r\n",
>> -                                        $fromAddr, $fromAddr)
>> -              )
>> -            );
>> +       // running php rpm: php-5.1.6-27.jkf
>> +       // issue between PHP mail() function and sendmail where 
>> sendmail is not
>> +       // accepting/receiving the 'Return-Path' from PHP.
>> +       // similar to bug: http://bugs.php.net/bug.php?id=29122
>> +       $tmp_msg_string = "To: $toAddr\nSubject:  
>> $subject\n\n$content\n";
>> +       $tmp_handle = popen ("/usr/lib/sendmail -f$fromAddr $toAddr", 
>> "w");
>> +       fwrite ($tmp_handle, $tmp_msg_string);
>> +       $result = pclose ($tmp_handle);
>>    }
>>    /*!
>>
>>
>> >>> On 9/21/2010 at 6:46 PM, in message <4C9943F1.2070900 at Zend.To>, 
>> Jules <Jules at zend.to> wrote:
>> Try setting "Errors-To:" instead of "Return-Path:".
>>
>> On 22/09/2010 00:03, Brad Beckenhauer wrote:
>>> Looks like sendmail is overriding php.
>>> Drupal had a similiar issue.
>>> see:
>>> http://drupal.org/node/131737
>>> brad
>>>
>>> >>> On 9/21/2010 at 4:32 PM, in message <4C99246D.9000205 at Zend.To>, 
>>> Jules <Jules at zend.to> wrote:
>>> In lib/NSSDropbox.php change
>>>
>>> --- SNIP ---
>>>   public function deliverEmail(
>>>     $toAddr,
>>>     $fromAddr,
>>>     $subject,
>>>     $content
>>>   )
>>>   {
>>>     return mail(
>>>               $toAddr,
>>>               $subject,
>>>               $content,
>>>               ($fromAddr==""?"":sprintf("From: %s\r\nReply-to: %s\r\n",
>>>                                         $fromAddr, $fromAddr)
>>>               )
>>>             );
>>>   }
>>> --- SNIP ---
>>> to this:
>>> --- SNIP ---
>>>   public function deliverEmail(
>>>     $toAddr,
>>>     $fromAddr,
>>>     $subject,
>>>     $content
>>>   )
>>>   {
>>>     return mail(
>>>               $toAddr,
>>>               $subject,
>>>               $content,
>>>               ($fromAddr==""?"":sprintf("From: %s\r\nReply-to: 
>>> %s\r\nReturn-Path: %s\r\n",
>>>                                         $fromAddr, $fromAddr, $fromAddr)
>>>               )
>>>             );
>>>   }
>>> --- SNIP ---
>>>
>>> Please let me know if this solves the problem for you, and I will 
>>> put it into the code.
>>>
>>> Jules.
>>>
>>> On 21/09/2010 21:48, Brad Beckenhauer wrote:
>>>> I was looking at this same issue yesterday, but ran out of time.
>>>> a snip from the web on the Return-Path
>>>> Envelope information: Return-Path, Received
>>>> Return-Path
>>>> The value of a Return-Path field is tokenizable. It shows the 
>>>> return path of the message, i.e., the address that bounces will be 
>>>> sent to. It is either (1) a < token followed by a > token, 
>>>> indicating an empty return path, or (2) a bracketed address. Two 
>>>> examples:
>>>>      Return-Path: <>
>>>>      Return-Path: <God at heaven.af.mil <mailto:God at heaven.af.mil>>
>>>> Messages transmitted through SMTP generally do not have Return-Path 
>>>> fields; the return path is transmitted out-of-band in the SMTP MAIL 
>>>> request. When a message is stored in a mailbox, the return path is 
>>>> stored in a Return-Path field. If the message is then retrieved 
>>>> (e.g., through POP) and sent through another SMTP hop, the 
>>>> Return-Path is removed and the return path is again sent out-of-band.
>>>> I'm pretty sure the function calling it is in the lib/NSSDropbox 
>>>> file, but have not figured out exactly how to add the coding.
>>>> I'll be watching this thread.
>>>> Brad
>>>>
>>>>
>>>> >>> On 9/21/2010 at 2:44 PM, in message 
>>>> <9453A32CAC9FFB4D8F59285E34B6A50604AD27 at hotc_exch.harperotc.com>, 
>>>> "Naz Snidanko" <nsnidanko at harperpowerproducts.com> wrote:
>>>>
>>>> Hi, ZendTo Users
>>>>
>>>> Scenario:
>>>>
>>>> User creates dropoff but misspells email address. MTA tries to 
>>>> deliver but domain has no MX record, so it generates bounce-back 
>>>> email sent to Return-Path: header value, which goes nowhere 
>>>> (www-data at server.domain.com <mailto:www-data at server.domain.com> in 
>>>> my case) and thus it creates confusion
>>>>
>>>> How can I change Return-Path: header value for an email address of 
>>>> the person that created dropoff? To either From or Reply-To? Tis 
>>>> way person will get bounce back message and correct his mistake.
>>>>
>>>> Please advice,
>>>>
>>>> *Naz Snidanko*
>>>>
>>>> *Desktop & Network Support*
>>>>
>>>> *Harper Power Products Inc.*
>>>>
>>>> *(p) 416 201- 7506*
>>>>
>>>> nsnidanko at harperpowerproducts.com 
>>>> <mailto:nsnidanko at harperpowerproducts.com>
>>>>
>>>>
>>>> _______________________________________________
>>>> ZendTo mailing list
>>>> ZendTo at zend.to
>>>> http://mailman.ecs.soton.ac.uk/mailman/listinfo/zendto
>>>
>>> Jules
>>>
>>> -- 
>>> Julian Field MEng CITP CEng
>>> www.Zend.To
>>>
>>> Need help fixing or optimising your systems?
>>> Contact me!
>>> Need help getting you started solving new requirements from your boss?
>>> Contact me!
>>>
>>> PGP footprint: EE81 D763 3DB0 0BFD E1DC 7222 11F6 5947 1415 B654
>>> Follow me at twitter.com/JulesFM
>>>
>>>
>>> _______________________________________________
>>> ZendTo mailing list
>>> ZendTo at zend.to
>>> http://mailman.ecs.soton.ac.uk/mailman/listinfo/zendto
>>
>> Jules
>>
>> -- 
>> Julian Field MEng CITP CEng
>> www.Zend.To
>>
>> Need help fixing or optimising your systems?
>> Contact me!
>> Need help getting you started solving new requirements from your boss?
>> Contact me!
>>
>> PGP footprint: EE81 D763 3DB0 0BFD E1DC 7222 11F6 5947 1415 B654
>> Follow me at twitter.com/JulesFM
>>
>>
>> _______________________________________________
>> ZendTo mailing list
>> ZendTo at zend.to
>> http://mailman.ecs.soton.ac.uk/mailman/listinfo/zendto
>
> Jules
>
> -- 
> Julian Field MEng CITP CEng
> www.Zend.To
>
> Need help fixing or optimising your systems?
> Contact me!
> Need help getting you started solving new requirements from your boss?
> Contact me!
>
> PGP footprint: EE81 D763 3DB0 0BFD E1DC 7222 11F6 5947 1415 B654
> Follow me at twitter.com/JulesFM
>
>
> _______________________________________________
> ZendTo mailing list
> ZendTo at zend.to
> http://mailman.ecs.soton.ac.uk/mailman/listinfo/zendto

Jules

-- 
Julian Field MEng CITP CEng
www.Zend.To

Need help fixing or optimising your systems?
Contact me!
Need help getting you started solving new requirements from your boss?
Contact me!

PGP footprint: EE81 D763 3DB0 0BFD E1DC 7222 11F6 5947 1415 B654
Follow me at twitter.com/JulesFM

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/zendto/attachments/20100922/df625ea5/attachment-0001.html 


More information about the ZendTo mailing list