add hidden pref 'reqrite_first_from'
authorPaul <paul@claws-mail.org>
Mon, 26 Sep 2016 09:59:43 +0000 (10:59 +0100)
committerPaul <paul@claws-mail.org>
Mon, 26 Sep 2016 09:59:43 +0000 (10:59 +0100)
'0' or '1'. This works around a limitation of some servers with
'overly-liberal parsers'. When this is turned on and the Content-
Transfer-Encoding is set to 8bit or 7bit, in a message body starting
with 'From ' the 'From ' will become '=46rom ' and the
Content-Transfer-Encoding will be changed to Quoted-Printable. When it
is turned off no such modification will be made but it is very likely
that an MTA will convert the 'From ' to '>From '. See RFC 4155 for
further details. Default value is '1', turned on.

manual/advanced.xml
src/compose.c
src/prefs_common.c
src/prefs_common.h

index 12c12a042af9b631da167d2715b16ad74d4f104f..9c4b0560586930089800476abdedeb488d9a55ea 100644 (file)
          </para>
        </listitem>
       </varlistentry>
+      <varlistentry>
+       <term><literal>rewrite_first_from</literal></term>
+       <listitem>
+         <para>
+    '0' or '1'. This works around a limitation of some servers with
+    'overly-liberal parsers'. When this is turned on and the Content-
+    Transfer-Encoding is set to 8bit or 7bit, in a message body starting with
+    'From ' the 'From ' will become '=46rom ' and the Content-Transfer-Encoding
+    will be changed to Quoted-Printable. When it is turned off no such modification
+    will be made but it is very likely that an MTA will convert the 'From ' to
+    '>From '. See RFC 4155 for further details. Default value is '1', turned on.
+         </para>
+       </listitem>
+      </varlistentry>
       <varlistentry>
        <term><literal>save_parts_readwrite</literal></term>
        <listitem>
index d216a4b62ddd0f826ab84286dd8a2aa067bdefea..b05006b01301f3458325151517d595ac29ad0232 100644 (file)
@@ -5653,7 +5653,7 @@ static gint compose_write_to_file(Compose *compose, FILE *fp, gint action, gbool
        }
        g_free(chars);
 
-       if (encoding == ENC_8BIT || encoding == ENC_7BIT) {
+       if (prefs_common.rewrite_first_from && (encoding == ENC_8BIT || encoding == ENC_7BIT)) {
                if (!strncmp(buf, "From ", sizeof("From ")-1) ||
                    strstr(buf, "\nFrom ") != NULL) {
                        encoding = ENC_QUOTED_PRINTABLE;
index 39d9a0ba8394524e461f82092696efcd066212b6..feeb95696f69a67a2007a563381e3ab48a9e55c4 100644 (file)
@@ -199,6 +199,8 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"outgoing_fallback_to_ascii", "TRUE", &prefs_common.outgoing_fallback_to_ascii, P_BOOL,
         NULL, NULL, NULL},
+        {"rewrite_first_from", "TRUE", &prefs_common.rewrite_first_from,
+         P_BOOL, NULL, NULL, NULL},
        {"warn_empty_subj", "TRUE", &prefs_common.warn_empty_subj,
         P_BOOL, NULL, NULL, NULL},
        {"hide_timezone", "FALSE", &prefs_common.hide_timezone,
index d3d9fa9410d3cca03349d065593ef640a2536f5d..2c56b4de1269326636f05ae4f22cb806bf9d036b 100644 (file)
@@ -142,6 +142,7 @@ struct _PrefsCommon
        gchar *outgoing_charset;
        TransferEncodingMethod encoding_method;
        gboolean outgoing_fallback_to_ascii;
+       gboolean rewrite_first_from;
        gboolean warn_empty_subj;
        gboolean hide_timezone;
        gboolean allow_jisx0201_kana;