aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua/lua_task.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/lua_task.c')
-rw-r--r--src/lua/lua_task.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c
index cb9ca4994..01c450422 100644
--- a/src/lua/lua_task.c
+++ b/src/lua/lua_task.c
@@ -4103,10 +4103,23 @@ lua_task_get_reply_sender (lua_State *L)
if (task) {
- rh = rspamd_message_get_header_array(task, "Reply-To", FALSE);
+ rh = rspamd_message_get_header_array (task, "Reply-To", FALSE);
if (rh) {
- lua_pushstring (L, rh->decoded);
+ GPtrArray *addrs;
+
+ addrs = rspamd_email_address_from_mime (task->task_pool, rh->decoded,
+ strlen (rh->decoded), NULL, -1);
+
+ if (addrs == NULL) {
+ lua_pushnil (L);
+ }
+ else {
+ struct rspamd_email_address *addr;
+
+ addr = (struct rspamd_email_address *)g_ptr_array_index (addrs, 0);
+ lua_pushlstring (L, addr->addr, addr->addr_len);
+ }
}
else if (MESSAGE_FIELD_CHECK (task, from_mime) &&
MESSAGE_FIELD (task, from_mime)->len == 1) {