|
From: FlorinCB <ory...@us...> - 2008-12-25 16:56:55
|
Update of /cvsroot/mxbb/mx_contact/includes In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv12134/includes Modified Files: contact_smtp.php functions_newsletter.php Log Message: fix Index: functions_newsletter.php =================================================================== RCS file: /cvsroot/mxbb/mx_contact/includes/functions_newsletter.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** functions_newsletter.php 18 Dec 2008 03:41:45 -0000 1.2 --- functions_newsletter.php 25 Dec 2008 16:56:50 -0000 1.3 *************** *** 1,2 **** --- 1,49 ---- + /** + * Plain authentication method + */ + function plain($username, $password) + { + $this->server_send('AUTH PLAIN'); + if ($err_msg = $this->server_parse('334', __LINE__)) + { + return ($this->numeric_response_code == 503) ? false : $err_msg; + } + + $base64_method_plain = base64_encode("\0" . $username . "\0" . $password); + $this->server_send($base64_method_plain, true); + if ($err_msg = $this->server_parse('235', __LINE__)) + { + return $err_msg; + } + + return false; + } + + /** + * Login authentication method + */ + function login($username, $password) + { + $this->server_send('AUTH LOGIN'); + if ($err_msg = $this->server_parse('334', __LINE__)) + { + return ($this->numeric_response_code == 503) ? false : $err_msg; + } + + $this->server_send(base64_encode($username), true); + if ($err_msg = $this->server_parse('334', __LINE__)) + { + return $err_msg; + } + + $this->server_send(base64_encode($password), true); + if ($err_msg = $this->server_parse('235', __LINE__)) + { + return $err_msg; + } + + return false; + } + <?php /** Index: contact_smtp.php =================================================================== RCS file: /cvsroot/mxbb/mx_contact/includes/contact_smtp.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** contact_smtp.php 4 Oct 2008 08:03:19 -0000 1.1 --- contact_smtp.php 25 Dec 2008 16:56:50 -0000 1.2 *************** *** 22,25 **** --- 22,35 ---- define('SMTP_INCLUDED', 1); + /** + * Send command to smtp server + */ + function server_send($command, $private_info = false) + { + fputs($socket, $command . "\r\n"); + + // We could put additional code here + } + // // This function has been modified as provided *************** *** 105,112 **** mx_message_die(GENERAL_ERROR, "Email message was blank", "", __LINE__, __FILE__); } // Ok we have error checked as much as we can to this point let's get on // it already. ! if( !$socket = @fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) ) { mx_message_die(GENERAL_ERROR, "Could not connect to smtp host : $errno : $errstr", "", __LINE__, __FILE__); --- 115,124 ---- mx_message_die(GENERAL_ERROR, "Email message was blank", "", __LINE__, __FILE__); } + + $board_config['smtp_port'] = ($board_config['smtp_port']) ? $board_config['smtp_port'] : $contact_config['smtp_port']; // Ok we have error checked as much as we can to this point let's get on // it already. ! if( !$socket = @fsockopen($board_config['smtp_host'], $board_config['smtp_port'], $errno, $errstr, 20) ) { mx_message_die(GENERAL_ERROR, "Could not connect to smtp host : $errno : $errstr", "", __LINE__, __FILE__); *************** *** 120,123 **** --- 132,153 ---- if( !empty($board_config['smtp_username']) && !empty($board_config['smtp_password']) ) { + server_send('AUTH PLAIN'); + if ($err_msg = server_parse('334', __LINE__)) + { + return $err_msg; + } + + $base64_method_plain = base64_encode("\0" . $board_config['smtp_username'] . "\0" . $board_config['smtp_password']); + server_send($base64_method_plain, true); + if ($err_msg = server_parse('235', __LINE__)) + { + return $err_msg; + } + + return false; + + } + else if(!empty($board_config['smtp_username']) && !empty($board_config['smtp_login'])) + { fputs($socket, "EHLO " . $board_config['smtp_host'] . "\r\n"); server_parse($socket, "250", __LINE__); *************** *** 131,135 **** fputs($socket, base64_encode($board_config['smtp_password']) . "\r\n"); server_parse($socket, "235", __LINE__); ! } else { --- 161,165 ---- fputs($socket, base64_encode($board_config['smtp_password']) . "\r\n"); server_parse($socket, "235", __LINE__); ! } else { |