--- sender-orig.c 2003-06-18 12:37:18.000000000 +0200 +++ sender.c 2003-06-18 12:32:22.000000000 +0200 @@ -562,8 +562,17 @@ void sender_change_from (void) { - char *from = read_argument (_("from: "), message->from->full); - + char *from = NULL; + + if (message->from) { + from = read_argument (_("from: "), message->from->full); + } + + if (from == NULL) { + message->reply_to = message->from = address_create (read_argument (_("From: "), NULL)); + + } + if (from){ message->reply_to = message->from = address_create (from); } @@ -681,6 +690,7 @@ { char *port_s; char *host; + char *email = NULL; int port = 0; if (sender_ask == NULL) @@ -713,7 +723,14 @@ return; } - if (smtp_mail_from (message->from->email)){ + if (message->from && message->from->email) { + email = message->from->email; + } + else { + return; + } + + if (smtp_mail_from (email)){ smtp_finish_connection (); return; }