Annotation of embedaddon/php/ext/standard/tests/mail/mail_variation_alt1-win32.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test mail() function : basic functionality 
                      3: --SKIPIF--
                      4: <?php 
                      5: if( substr(PHP_OS, 0, 3) != 'WIN' ) {
                      6:    die('skip...Windows only test');
                      7: }
                      8: 
                      9: require_once(dirname(__FILE__).'/mail_skipif.inc');
                     10: ?>
                     11: --INI--
                     12: max_execution_time = 120
                     13: --FILE--
                     14: <?php
                     15: /* Prototype  : int mail(string to, string subject, string message [, string additional_headers [, string additional_parameters]])
                     16:  * Description: Send an email message 
                     17:  * Source code: ext/standard/mail.c
                     18:  * Alias to functions: 
                     19:  */
                     20: 
                     21: error_reporting(E_ALL & ~E_STRICT);
                     22: ini_set("SMTP", "localhost");
                     23: ini_set("smtp_port", 2525);
                     24: ini_set("sendmail_from", "user@company.com");
                     25: 
                     26: echo "*** Testing mail() : basic functionality ***\n";
                     27: require_once(dirname(__FILE__).'/mail_include.inc');
                     28: $subject_prefix = "!**PHPT**!";
                     29: 
                     30: $to = "$username";
                     31: $subject = "$subject_prefix: Basic PHPT test for mail() function";
                     32: $message = <<<HERE
                     33: Description
                     34: bool mail ( string \$to , string \$subject , string \$message [, string \$additional_headers [, string \$additional_parameters]] )
                     35: Send an email message
                     36: HERE;
                     37: 
                     38: $res = mail($to, $subject, $message);
                     39: 
                     40: if ($res !== true) {
                     41:        exit("TEST COMPLETED : Unable to send test email\n"); 
                     42: } else {
                     43:        echo "Msg sent OK\n";
                     44: }
                     45: 
                     46: // Search for email message on the mail server using imap.
                     47: $imap_stream = imap_open($default_mailbox, $username, $password);
                     48: if ($imap_stream === false) {
                     49:        echo "Cannot connect to IMAP server $server: " . imap_last_error() . "\n";
                     50:        return false;
                     51: }      
                     52: 
                     53: $found = false;
                     54: $repeat_count = 20; // we will repeat a max of 20 times 
                     55: while (!$found && $repeat_count > 0) {
                     56: 
                     57:        // sleep for a while to allow msg to be delivered
                     58:        sleep(1);
                     59: 
                     60:        $current_msg_count = imap_check($imap_stream)->Nmsgs;
                     61: 
                     62:        // Iterate over recent msgs to find the one we sent above
                     63:        for ($i = 1; $i <= $current_msg_count; $i++) {
                     64:                // get hdr details
                     65:                $hdr = imap_headerinfo($imap_stream, $i);  
                     66: 
                     67:                if (substr($hdr->Subject, 0 , strlen($subject_prefix)) == $subject_prefix) {
                     68:                        echo "Id of msg just sent is $i\n"; 
                     69:                        echo ".. delete it\n"; 
                     70:                        imap_delete($imap_stream, $i);
                     71:                        $found = true;
                     72:                        break; 
                     73:                }
                     74:        }
                     75:        
                     76:        $repeat_count -= 1;
                     77: }
                     78: 
                     79: if (!$found) { 
                     80:        echo "TEST FAILED: email not delivered\n"; 
                     81: } else {
                     82:        echo "TEST PASSED: Msgs sent and deleted OK\n";
                     83: }
                     84: 
                     85: imap_close($imap_stream, CL_EXPUNGE);
                     86: ?>
                     87: ===Done===
                     88: --EXPECTF--
                     89: *** Testing mail() : basic functionality ***
                     90: 
                     91: Warning: mail(): Failed to connect to mailserver at "localhost" port 2525, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in %s on line %d
                     92: TEST COMPLETED : Unable to send test email

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>