aboutsummaryrefslogtreecommitdiffstats
path: root/sink.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2005-06-29 21:18:03 +0000
committerMatthias Andree <matthias.andree@gmx.de>2005-06-29 21:18:03 +0000
commit343f9984ce85c3fcf1b92b78fc694a20ba0f1db7 (patch)
tree484a630d988d28a1bccbce50bb14ac1661329b85 /sink.c
parent63e6f0da257dcb7222c97259c3a0b12671470d83 (diff)
downloadfetchmail-343f9984ce85c3fcf1b92b78fc694a20ba0f1db7.tar.gz
fetchmail-343f9984ce85c3fcf1b92b78fc694a20ba0f1db7.tar.bz2
fetchmail-343f9984ce85c3fcf1b92b78fc694a20ba0f1db7.zip
Cesar Eduardo Barros's fix to avoid double @ when username has @ and envelope
sender is null. Debian bug #272289. svn path=/trunk/; revision=4061
Diffstat (limited to 'sink.c')
-rw-r--r--sink.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sink.c b/sink.c
index 431a7e64..68a1739b 100644
--- a/sink.c
+++ b/sink.c
@@ -877,7 +877,11 @@ static int open_smtp_sink(struct query *ctl, struct msgblk *msg,
*/
if (!msg->return_path[0] || (msg->return_path[0] == '@'))
{
- if (is_dottedquad(ctl->server.truename))
+ if (strchr(ctl->remotename,'@') || strchr(ctl->remotename,'!'))
+ {
+ snprintf(addr, sizeof(addr), "%s", ctl->remotename);
+ }
+ else if (is_dottedquad(ctl->server.truename))
{
snprintf(addr, sizeof(addr), "%s@[%s]", ctl->remotename,
ctl->server.truename);