| 
        php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             
             [2003-10-20 10:21 UTC] iliaa@php.net
  | 
    |||||||||||||||||||||||||||
            
                 
                Copyright © 2001-2025 The PHP GroupAll rights reserved.  | 
        Last updated: Tue Nov 04 12:00:01 2025 UTC | 
Description: ------------ When you hand a variable to the 'to' parameter of the mail() function which has trailing whitespace the PHP variable get altered! It seems the mail() function is stripping the trailing whitespace by putting a null character at the start of it, but this is somehow getting back into the PHP variable (as if it had been passed by reference?) so the PHP variable contains a null character where the trailing whitespace started before the mail() function was called. Reproduce code: --------------- <?php // to address with trailing space $to = 'tom@scl.co.uk '; // Output the ASCII code for the last char // in the $to address string print("Last char=".ord($to{strlen($to)-1})."\n"); // Send a message to the email address in $to mail($to, "Subject", "Message"); // Output the ASCII code for the last char // in the $to address string print("Last char=".ord($to{strlen($to)-1})."\n"); ?> Expected result: ---------------- Last char=32 Last char=32 Actual result: -------------- Last char=32 Last char=0