Use account ID instead of name in passwordstorerc.
[claws.git] / src / send_message.c
index be2733db001974609163fac85d9be5987e839793..75bdd2016c184e825abc4b8157c35cc7ffcb3f88 100644 (file)
@@ -54,6 +54,7 @@
 #include "gtkutils.h"
 #include "inc.h"
 #include "log.h"
+#include "passwordstore.h"
 
 typedef struct _SendProgressDialog     SendProgressDialog;
 
@@ -251,7 +252,7 @@ gint send_message_smtp_full(PrefsAccount *ac_prefs, GSList *to_list, FILE *fp, g
                strncpy2(spec_from, ac_prefs->address, BUFFSIZE-1);
        }
        if (tmp_msginfo) {
-               procmsg_msginfo_free(tmp_msginfo);
+               procmsg_msginfo_free(&tmp_msginfo);
        }
 
        if (!ac_prefs->session) {
@@ -303,10 +304,9 @@ gint send_message_smtp_full(PrefsAccount *ac_prefs, GSList *to_list, FILE *fp, g
                                                        ac_prefs->smtp_server, "smtp", port,
                                                        &(smtp_session->pass))) {
                                        /* NOP */;
-                               } else if (ac_prefs->smtp_passwd)
-                                       smtp_session->pass =
-                                               g_strdup(ac_prefs->smtp_passwd);
-                               else {
+                               } else if ((smtp_session->pass =
+                                               passwd_store_get_account(ac_prefs->account_id,
+                                                               PWS_ACCOUNT_SEND)) == NULL) {
                                        smtp_session->pass =
                                                input_dialog_query_password_keep
                                                        (ac_prefs->smtp_server,
@@ -323,9 +323,8 @@ gint send_message_smtp_full(PrefsAccount *ac_prefs, GSList *to_list, FILE *fp, g
                                                        ac_prefs->smtp_server, "smtp", port,
                                                        &(smtp_session->pass))) {
                                        /* NOP */;
-                               } else if (ac_prefs->passwd)
-                                       smtp_session->pass = g_strdup(ac_prefs->passwd);
-                               else {
+                               } else if ((smtp_session->pass = passwd_store_get_account(
+                                                       ac_prefs->account_id, PWS_ACCOUNT_RECV)) == NULL) {
                                        smtp_session->pass =
                                                input_dialog_query_password_keep
                                                        (ac_prefs->smtp_server,