summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include/rcube_smtp.inc
diff options
context:
space:
mode:
authorroundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c>2005-11-14 23:55:46 +0000
committerroundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c>2005-11-14 23:55:46 +0000
commit8c3b64d00defbba89f38686297e4e9f43e39fd56 (patch)
tree3c688e3e8630d35d52de4f9c85e8d469fb485888 /roundcubemail/program/include/rcube_smtp.inc
parent48668271f1df53195fef4259cc3c5b2a851c820e (diff)
SMTPS support and minor bugfixes
git-svn-id: https://svn.roundcube.net/trunk@83 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcube_smtp.inc')
-rw-r--r--roundcubemail/program/include/rcube_smtp.inc16
1 files changed, 15 insertions, 1 deletions
diff --git a/roundcubemail/program/include/rcube_smtp.inc b/roundcubemail/program/include/rcube_smtp.inc
index e5691759c..e4aea09d2 100644
--- a/roundcubemail/program/include/rcube_smtp.inc
+++ b/roundcubemail/program/include/rcube_smtp.inc
@@ -53,12 +53,26 @@ 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)