Return to mail_variation_alt1-win32.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / mail |
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