text = GTK_STEXT(compose->text);
gtk_stext_freeze(text);
+#ifdef USE_ASPELL
+ if (item && item->prefs && item->prefs->enable_default_dictionary &&
+ compose->gtkaspell)
+ gtkaspell_change_dict(compose->gtkaspell,
+ item->prefs->default_dictionary);
+#endif
+
if (account->auto_sig)
compose_insert_sig(compose, FALSE);
gtk_editable_set_position(GTK_EDITABLE(text), 0);
text = GTK_STEXT(compose->text);
gtk_stext_freeze(text);
+#ifdef USE_ASPELL
+ if (msginfo->folder && msginfo->folder->prefs &&
+ msginfo->folder->prefs &&
+ msginfo->folder->prefs->enable_default_dictionary &&
+ compose->gtkaspell)
+ gtkaspell_change_dict(compose->gtkaspell,
+ msginfo->folder->prefs->default_dictionary);
+#endif
+
if (quote) {
gchar *qmark;
/* MIME */
fprintf(fp, "Mime-Version: 1.0\n");
if (compose_use_attach(compose)) {
- get_rfc822_date(buf, sizeof(buf));
- subst_char(buf, ' ', '_');
- subst_char(buf, ',', '_');
- compose->boundary = g_strdup_printf("Multipart_%s_%08x",
- buf, (guint)compose);
+ compose->boundary = generate_mime_boundary();
fprintf(fp,
"Content-Type: multipart/mixed;\n"
" boundary=\"%s\"\n", compose->boundary);
} else {
fprintf(fp, "Content-Type: text/plain; charset=%s\n", charset);
+#if USE_GPGME
+ if (compose->use_signing && !compose->gnupg_mode)
+ fprintf(fp, "Content-Disposition: inline\n");
+#endif
fprintf(fp, "Content-Transfer-Encoding: %s\n",
procmime_get_encoding_str(encoding));
}
headerentry = ((ComposeHeaderEntry *)list->data);
tmp = g_strdup(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(headerentry->combo)->entry)));
+ if (strchr(tmp, ' ') != NULL || strchr(tmp, '\r') != NULL || strchr(tmp, '\n') != NULL) {
+ g_free(tmp);
+ continue;
+ }
+
if (!strstr(tmp, ":")) {
headername_wcolon = g_strconcat(tmp, ":", NULL);
headername = g_strdup(tmp);
g_free(tmp);
headervalue = gtk_entry_get_text(GTK_ENTRY(headerentry->entry));
+ subst_char(headervalue, '\r', ' ');
+ subst_char(headervalue, '\n', ' ');
string = std_headers;
while (*string != NULL) {
headername_trans = prefs_common.trans_hdr ? gettext(*string) : *string;
fprintf(fp, "%s %s\n", headername_wcolon, headervalue);
g_free(headername);
- g_free(headername_wcolon);
-
+ g_free(headername_wcolon);
}
/* separator between header and body */
if (len < 1) return;
g_strchomp(src);
+ subst_char(src, '\n', ' ');
+ subst_char(src, '\r', ' ');
conv_encode_header(dest, len, src, header_len, addr_field);
}