diff options
| author | roundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2005-11-14 23:55:46 +0000 |
|---|---|---|
| committer | roundcube <roundcube@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2005-11-14 23:55:46 +0000 |
| commit | 8c3b64d00defbba89f38686297e4e9f43e39fd56 (patch) | |
| tree | 3c688e3e8630d35d52de4f9c85e8d469fb485888 /roundcubemail/program/include/rcube_smtp.inc | |
| parent | 48668271f1df53195fef4259cc3c5b2a851c820e (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.inc | 16 |
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) |
