From fbf77b4493f1b77c99751d8a86365c712ae3fb1b Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 18 Nov 2005 10:35:15 -0500
Subject: [PATCH] Added Japanese localization

---
 program/include/rcube_smtp.inc |   37 +++++++++++++++++++++++++++++++------
 1 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/program/include/rcube_smtp.inc b/program/include/rcube_smtp.inc
index 9f19327..e4aea09 100644
--- a/program/include/rcube_smtp.inc
+++ b/program/include/rcube_smtp.inc
@@ -1,4 +1,4 @@
-<?
+<?php
 
 /*
  +-----------------------------------------------------------------------+
@@ -49,16 +49,30 @@
  * @return bool  Returns TRUE on success, or FALSE on error
  * @access public
  */
-function smtp_mail($from, $recipients, $headers, $body)
+function smtp_mail($from, $recipients, $headers, &$body)
   {
   global $SMTP_CONN, $CONFIG, $SMTP_ERROR;
   $smtp_timeout = null;
+  $smtp_host = $CONFIG['smtp_server'];
   $smtp_port = is_numeric($CONFIG['smtp_port']) ? $CONFIG['smtp_port'] : 25;
+  $smtp_host_url = parse_url($CONFIG['smtp_server']);
   
+  // overwrite port
+  if ($smtp_host_url['host'] && $smtp_host_url['port'])
+    {
+    $smtp_host = $smtp_host_url['host'];
+    $smtp_port = $smtp_host_url['port'];
+    }
+
+  // re-write smtp host
+  if ($smtp_host_url['host'] && $smtp_host_url['scheme'])
+    $smtp_host = sprintf('%s://%s', $smtp_host_url['scheme'], $smtp_host_url['host']);
+
+
   // create Net_SMTP object and connect to server
   if (!is_object($smtp_conn))
     {
-    $SMTP_CONN = new Net_SMTP($CONFIG['smtp_server'], $smtp_port, 'localhost');
+    $SMTP_CONN = new Net_SMTP($smtp_host, $smtp_port, 'localhost');
 
     // set debugging
     if ($CONFIG['debug_level'] & 8)
@@ -72,12 +86,23 @@
       $SMTP_ERROR .= "Connection failed\n";
       return FALSE;
       }
-
-
+      
     // attempt to authenticate to the SMTP server
     if ($CONFIG['smtp_user'] && $CONFIG['smtp_pass'])
       {
-      if (PEAR::isError($SMTP_CONN->auth($CONFIG['smtp_user'], $CONFIG['smtp_pass'])))
+      if ($CONFIG['smtp_user'] == '%u')
+		$smtp_user = $_SESSION['username'];
+      else
+		$smtp_user = $CONFIG['smtp_user'];
+	
+	  if ($CONFIG['smtp_pass'] == '%p')
+		$smtp_pass = decrypt_passwd($_SESSION['password']);
+      else
+		$smtp_pass = $CONFIG['smtp_pass'];
+
+	  $smtp_auth_type = empty($CONFIG['smtp_auth_type']) ? NULL : $CONFIG['smtp_auth_type'];
+	  	
+      if (PEAR::isError($SMTP_CONN->auth($smtp_user, $smtp_pass, $smtp_auth_type)))
         {
         smtp_reset();
         $SMTP_ERROR .= "authentication failure\n";

--
Gitblit v1.9.1