pw: try different encodings in sendmail (#46623)

This commit is contained in:
Emmanuel Cazenave 2020-09-14 17:50:12 +02:00
parent f34d5850b1
commit c0a69c7e8c
3 changed files with 186 additions and 1 deletions

View File

@ -180,7 +180,15 @@ In case of failure the following return value is returned:
if part.get_content_type() == 'text/plain' and \
('Content-Disposition' not in part or 'inline' in part['Content-Disposition']):
charset = part.get_content_charset('us-ascii')
description = force_text(part.get_payload(decode=True), charset)
for cset in (charset, 'iso-8859-15', 'utf-8'):
try:
description = force_text(part.get_payload(decode=True), cset)
except UnicodeDecodeError:
continue
break
else:
content_errors.append('Error decoding description')
continue
if filename:
filename = self.decode_filename(filename)

View File

@ -0,0 +1,164 @@
Date: Fri, 11 Sep 2020 14:09:42 +0200
From: foo@bar
To: recipient@example.com
Message-ID: <5f5b6906.10.326@example.com>
Subject: =?UTF-8?B?UUUtUXVlc3Rpb24=?=
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=5f5b6906_2eb141f2_326
Content-Transfer-Encoding: 8bit
Status: RO
Content-Length: 537490
Lines: 6991
--5f5b6906_2eb141f2_326
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
2 courriers d'irrecevabilité
--5f5b6906_2eb141f2_326
Content-Type: application/pdf;
name="whatever.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="whatever.pdf"
JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0
ZURlY29kZT4+CnN0cmVhbQp4nB3HPQqAMAxA4T2nyAWsSfpHoWQQdHATsomb6KyL17fKW95H
TgI+cCH93ScMBjG5gjkHx2g79hMjC9qxVmKVSkJefaWgnTRFlYakHZcP7bNuNsNosMALyakU
UgplbmRzdHJlYW0KZW5kb2JqCgozIDAgb2JqCjkyCmVuZG9iagoKNSAwIG9iago8PC9MZW5n
dGggNiAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aDEgOTAyOD4+CnN0cmVhbQp4nOU4
bVBb15Xnvich8aknDApENu/BM9gsSMJgO8YxRgYkwBAjvlLJcUAP6YGUgKRIAmqn2ZC2Sb1y
3bhpmq96Jt5ONpPpZCaPOm1JN1uT3WbbTrdtutNup9u69WyTmc7UnrhpmtlJC+y59z0wdp10
2t1/e8W973yfc8859+qJbHpWhSJYAB68kRklVWkutALAvwGQ0shcVmobKL8d4UsA3L9PpqZm
nvnasXcBTC8DWF6emj4+mXz/Kx8FKIohboqpStRfudsNsGUabeyNIeHI6nEL4s8hvj02k/3o
b7iVbYh/G3FpOhlRDltq8hD/NeKlM8pHU1WmNg7xP1J+QplRa9rzegDKtgIUzqWSmWwUtq8B
iI9TfiqtpvqfmXgdcYyHP4M0gh86ihDMozjHm8x5Fvh/O8ynoRx6zG1ggxRbrxv8i1AJTwOs
XabYtXW1f+39/8sorPrjKXgeXobT8FO422D4IQBxmEXK5vEa/BCpdATgKHwJch9g9kVYQr4u
F4ZH6U5uOgLwJJyHb13nJQAzcD/G8hX4KdkF38FWScI7xAoPweto9R2k3XEzU1wJLpMMnNxE
/Rl8gTsFh7k3EXmacjgPJ8A34SwZQ8tZ3OfpjR0f+BOjn4IHcB2GGMwhzIa57Y//Cflrv8Nd
PQCH4eNwCKY3abxKnuULsH4j8Czm9DVG86wzLT38PdxXOW7lc4h8FqZwKgT3zp3mD31Ahv7i
wY9CMannayH/ZlxuN9hW3+ea197lt0MBjK5dXaet9a39jldWE6Zx01Zzm+m7H+Yj77OmGdSG
tbdW71+Nmo+Yn8dqvQDg7b7raCg4OjI8NBgYOHJHf9/h3p5uv6+rs+OQt/1g24Hb97fuu23v
nl1NHrerceeOutrtck21WFFmF2wlxYUF+VZLntnEcwQaJY2EfRpfK9n9iuyTlR5Xo+SriHW5
Gn2yP6xJiqThw1Qn9/QwkqxoUljS6vChbCKHNS9KTt4g6dUlvRuSRJAOwAHqQpa073XJ0hI5
OhhE+HSXHJK0Kwy+g8GmOoYUI1JdjRosKhqt5NP8c7GcL4wxksXCgk65Uy1wNcJiQSGChQhp
O+XUItl5kDCA2+nbv8iBtZi6xZ36lKgWGAz6upzV1SFXY69WIncxFnQyk1pep2ZhJqU4DR1O
SYuNy7lPLwkwEW4oispR5VhQ4xXUzfG+XO5Tmr1Bq5e7tPoTb1bgzlWtUe7yaQ3Uat/Qhp++
ay6JZq4VZCn3e8DtyFcuX09RDEperfB7oKDGdWpkKFhNh9OPuc7l/LLkz4VzytLawoQsCXJu
sagol/JhuiEQRBNLa18/5dT8nw5pQjhG9oeMrfuH+rQtg3cFNa7WL8UUpOBfu1y9z1lt35AJ
fBAbMC2YHMxwdTVNw6klL0wgoi0MBnVcggnnl8HraQhpXJhyltc55aOUs7DO2VAPy1jbvuFg
TjPV9kZlH2b8lKItTGB33UMLIwtayXvOajlXapdaPSEmK2FUvdG4pJnrMEmotVkB+4aq5ASG
lLynP6440UGdvVRqldEMteOTfWHjby5WgQYkTHRPg94II0HN24WAVzEq5lts8qCGEsaCxbtY
MTWPnNLK5I6N6tKwfPHhIFMx1LSyTg3CEUNL8/jYuZJ8uXCXHgK1JQ8GX4GWtUuLuyXn+RbY
DaEuKuzoxC6r8+WC0UlNDDujeO4mpaCzWvOGsMIhOaiGaNthhuovOVlzhFivjAT7huW+waPB
fUYgOoOaM9X6bjAjB526GWxAzVprlYKckw+hoIAEyY+A3HEAV81Sa8UpYMIZlTZuxwEpSJyw
Lo1haPWST+0y5Ch+nVEzbafOnnVreRRFO509zupQtT5cjRyyJcMxalhpUnvWWXhNIcOK/dnZ
w0g0lxW06aWgrMohOSZp3kCQ7o2mh2XZSAbLuVGrkeuwTcnCNEE1stcRmkzN3+DcnFytm+Eb
aM8N7N51tpSzyn3DOWpcNgwCRt6rAW1h7z67k90F9EDLePdKAh5pdqBzi14vPcyx/dSI3BvN
ycPBA0wa75MHnCeor1LoI30jHa5GvNo6FmVycnDRS04OHw2+IuB74cmR4Jc5wnWGO0KL25EX
fEXCLw1G5SiVEikiUYRaGkLEyuSdr3gBFhjXxAgMjywRYDTrOo1AZInTaYLuqI458gKHHJPO
8a5Lm5Bm1WkLjMbGItCUeQvMXqs331vEFXPORUJJX0bK1/E9Np/A+SJSTJyLqDXEyEtkYTHf
69QlFlDCq0d4cvSa69GjwfNF+O3sZCs66qAD26UihsXGrxWfFKWN8rFQLBcO0cMGDiwN/hGN
yAexTPJBDCSvSCuQ1Q6tUO6g9HZKb9fpeZRuwRYlDoLqC1j7gEZoB9wVrMYjKd36HWdOuEIr
FcJLJSe85cKMcWuXzd/AN84y+J23qsBsKzOXlTs4a0FxD1dcXGYrMFvMgZDdYispLFxa+2/v
J5BRyBMwOUYcpMtBtjuI4CAmB3nXQV52kHMO8riDfNJBsozbxASeY8Sog6AKOEgrir7JEK+D
cCgiMRvIWXCQsIMEGEOnv+EgF5hVZKUcZJwR79bHfWykcYzTZWwT0aCnob0FR4O9pR0XoHCF
B6FS0tpqb7G37Goyy4VEJjv2VJdbnKTFqUMm55Ffv3V49R+T5MLZX/5q5L9+/AyZjJVx0yuP
8ycqXS7nysOcuvIk9xDC5UB/3ZThm9db+E6/Db7uPQ5lZZXFJSX5lflV4rZbA6FtUIbILZWB
UNEt5Vs4zmy2D4XMwjmRXBLJskgEkYBIWhE5I5KUSMIiCYjEK5ImkUgiERkbWQvrXGS9wTQ1
kZzbRN+clvTGYGm5D9rp/u0tFeuJqGi/lgY9FaTMcpC0NDvK7beUV++5zb5brrEYIGaF+C09
X2s/8bH06r0PPD/2iQdXo/OfJs38ezF3/YHPfGrlCcxFJTf24raVLRQycxUubPyetcv8ffxr
4IRamPG22621tSapqKjSxOPrX01BzWCootxu3xoI2eyinSvi7XawFjgspkDIUg7lgRAICzvI
+A7i3UEQuPs+WtAGqGCzpbTVMz52N+4CWtneSsktxm7oZox97MiTa+y7D5J2smd3nVxjI/Ke
vcRSQsrLWpr33kZ++MxnZ1dXt6QXf9t77qnT3YejwzX7vkjgE4+MP9oVaeZf+9uPrzxc6RpL
k4qx+w/xps8pxzyz35NXq0zmsYQmVrDar13mXKaHwAHd3h0FJSWWLTx/S4WpqLAoEMq3FNqw
N+yDIXA8W0G0CtJeQTwVtFJpvSK4jxYj+tbS1uZm1pM1dXvs8p520lLeUi7byxwtzbeVlxBy
JDx+/wNq+09+cnvT/mH5k2XpKe5zrh0//vHIyoOHOoRDFSJ9xYcA5tzPv46/L7fCae/RSkJs
t1rLbeXbqioBE10pVmKiKyuLSksdgVCpUGQeDBU5lquIVkXOVZEzVWShiqSqSLiKBKoIVJGD
+PBWkaYqIlURoYpcZXIotN5lY3evD6M4tCIVRm1Yh603WHlZFaFpx83INXX23XtbJHs5qckr
r95dR0xtD07tfbyp6R/u/Nl3v3+BxFefjCXJY8fIT0tzTwdKC/eJ7svE/N47q5ND5OwLz51/
muYefxWb6K/lEpL0rlm4/BKuxCaU5FvwWyIQKjTZLFZSbAXiyAokKpARgXQJZLdAtgukTCAm
gbwrkDcF8iOBfFMgLwvkOYE8LpBPCuRD5C/9JfKt/0sH524m3yQQSSACk/8ms7kgEC6F4mEB
O2t88yW4+S5M33AnbB4fpEDvz7G71++M6+5N/arM1x+c6/DqA2Hy1c+TUpL3eXLsaJlxU85z
p9gtSaAem/Mp7MsyGPS67BYLKSoqd+TZwS7YuRKznefKBKE4EBJslqICPDoF5XjXi+ybQD/2
7LCwg9/Sgr1lXz8yemfJO2ryNt1Wt+BNxj3VsL/575r/frVjfp6U5h/43gH+9dWE07HSQW8o
Xqp0zTYfA3Z/03MDh+aO7Bi3Hfg9J+r/F/l21xvfv/arl35Lmul/C6wbJNSzVK/64CObKdcN
a14rgPlbwJkAyvjT0MO1smfARF1+ieYExxeJm5wjv+bG+N38xw0rVqijMbHIBPAABsr9C/+v
wDNuFUls+Lpzwy9ByTsNmAMLTBowj/fvjAGbUOakAZuhBJ4y4DywwfMGbIET+Iteh61QRjwG
nI/nrNOAC0iCDBpwIWzlLmz8h8/N/cyAi2EPn2/AJXArf5BGb6L/mXiRDxowAclkMmAOSkzb
DZiHvaZmAzahTMyAzbDVdNKA86DK9JwBW+Bd0z8bsBV2mr9qwPmw1fwLAy7gfm5+34ALYZ/1
Pwy4CI7llxhwMdyTf48Bl8Du/B91xafi2fgJNSpFlawiRZKp4+n4VCwr7YzUS81Nu5qk7mRy
alqVOpPpVDKtZOPJhLug80axZmkITfQo2UapNxFx98cnVF1WGlbT8ckhdWp2WkkfykTURFRN
Sy7pRokb8TvVdIYize6mJveea9wbheMZSZGyaSWqzijpe6Xk5PWBSGl1Kp7JqmkkxhPSqHvY
LQWUrJrISkoiKo1sKA5MTsYjKiNG1HRWQeFkNoah3jObjmei8Qj1lnFv7GBTOoaz6pwq3aFk
s2ommehQMugLIxuJJ5KZRmk+Fo/EpHklI0XVTHwqgcyJ49L1OhJyFdxLIpGcQ5NzaiPGPZlW
M7F4YkrK0C0b2lI2pmTppmfUbDoeUaanj2PNZlKoNYFFmo9nY+h4Rs1IR9R5aSg5oyS+5NZD
wdxMYlKl+EwqnZxjMboykbSqJtCZElUm4tPxLFqLKWklghnDtMUjGZYRTISUUhIu32w6mVIx
0o90918TxAD1bGaS03PomUonVDVKPWLYc+o0KqHj6WTyXrqfyWQaA41mY65NkU8mE1lUTUpK
NIobx2wlI7MztE6Y5ux6cEoknURealrJopWZjDuWzab2ezzz8/NuxShNBCvjRsueD+Nlj6dU
ox5pamVmuh/Ln6Clm2X1pZsY7u2XBlKYHz8GJxkCjdJ6a+5y7zJcYBrjqWzGnYlPu5PpKc+A
vx+6IA5TOLM4T4AKUZBwKogrCEUgCSk4DmkmFUOqBDuRWo/PZmiCXTgl6EapJPKnUV+CToTT
qEVXhdlNQgLcUMA4H26tGaEhI4oept2IUC/qR9BCP+pNIHezXQmGGSWO9yzVnIJZjENByiHI
oJaKMlEmIYEL55+z8ef4dzIos8Fpxria8OOGPTfV/XOW42hLYrnOMg6NdYbFfy/Skqj3YRmR
UE5l9csgR2VYlFmltkdRYphJBZgmzUWWeUswqZGbeBxAj5OoH2G1XJeMMNu0J3TLSYRjRlbv
wYynWQRRpre+twx6/tMa3Lw7hll0c8znHYxO8QzjdSCeMfal52yERZFEKs3FPEZC/cYYrLB8
Rpk27bKEoTmBfSd9qB/J0FWMuiSYjzkjSqrTaOR7kq0Z5jeBPiQWn17l631LLE8Ky7pe6Rnk
ZplsBOnT+DlunLMZzIrua8I4SfPsXMaMHc8wuxIcwec864okq1uiuobV+FpW9L6ZNDpVYrop
hJNsF+t5dLHa0J2oLFIKKezsT6DGNPOtxxZj3aGw2qpGrbNsB+v5iho7pVGnGMUFPtYX9MSr
Rk4/gjdF/00t6hnc3Ju0JtMs3swm2wkWbXRjj3q2qdS04Unf8TS7ke7dqM8k6zc9o1FmzfUB
OZ9kuckaXpMsoih+9IrrvZVE3VlWD/086d2c/ZPMKSy/SUMvxe6lrBHLDDsfMdaBKdiP75Ye
jI5+3KwPN5+aiHFm3EbMnr9aj8aVYhncfD7SG7HMYIz9xulPbJy62U3nd70Sw3gH9bP7ImX0
j9/InHSDBXpqbrw1d6G/XTfsQu/GOOJZFk+G5dLN9jCF/AH00M/eo/VfAtUY003GYn7g0ARR
gZAYmYItIJIwHCHjMEoOQRvx4tOLvA58diJOn27SBgso14b0g4gfQPrteHmKuLbjHMD5KE4T
Tl2iCSU8+PQYuAvxRtT4Aa6ETUptRyp9Hka8B5/dxtOPdB8+fQbeizg+IUws+CLeztYLxOQ9
Ty6tkB+sEGmFPPgHEvgDWXjnzDvcb6/Wiy9dvXCVG3h7/O2X3uab3ia2t4kVrghXAlfCV1JX
zl3JK7BdJkXwG2L/1aV94i/bLo7+ou3no3ARd3ax6WLg4sJF7aL5IuFHf847RGFZWm5aTi0v
LL+xfGn56rJ14RtnvsH906se0faq+Connh84/+B5PvwCsb0gvsAFvhD+AnfmLLGdFc96zvLP
PO0Wn+6uEp98Yod46YmrT3BLa8vnnyi2+18lA6Qf2jCHR87za+JLh8rJHbgtG64iTg/OAZxJ
nI/ixN89KC7i9JB+7z5+/POk8DHnYw2P3f/YqcfMqUcWHjnzCL/w8JmHuZfmLsxxmUC9mEw0
iInuvxErWypGLS38aB66Qe/e3onanf7wuFccR6G7jjaJR7vrxS0tpaNm3LAJBW28yLfzA3yS
f5S/wFusQ4EqcRDnpcDVAOcN5Bf5bQPigGeAX1q75FX7qtHa4dThhcN8r79e7OneJ9q6xW5P
9w+6f9n9dnfeeDd5Fv/8L/kv+Hmvv97j9/qrqv1be5yjjpbyUTuxjQottlGOYKFbYNRjW7Nx
Ntu47UEbb4N24BYcxEyWyJnFkeGGhr4ly9pQn2YN3KWRk1rtMF29g0e1vJMajB69K7hIyGdC
D58+DR3b+rTm4aAW3hbq06IIeCmwgICwbdEBHaFMJtvABmloQHgWV2iYbUDiWEanwgYfGjIk
g3dUhimRBiqg4wTXBspDAtUjqD2WAbpQZoOuRLUzhjmmrC8MqBj7H8sWysAKZW5kc3RyZWFt
CmVuZG9iagoKNiAwIG9iago1MTI0CmVuZG9iagoKNyAwIG9iago8PC9UeXBlL0ZvbnREZXNj
cmlwdG9yL0ZvbnROYW1lL0JBQUFBQStMaWJlcmF0aW9uU2VyaWYKL0ZsYWdzIDQKL0ZvbnRC
Qm94Wy01NDMgLTMwMyAxMjc3IDk4MV0vSXRhbGljQW5nbGUgMAovQXNjZW50IDg5MQovRGVz
Y2VudCAtMjE2Ci9DYXBIZWlnaHQgOTgxCi9TdGVtViA4MAovRm9udEZpbGUyIDUgMCBSCj4+
CmVuZG9iagoKOCAwIG9iago8PC9MZW5ndGggMjU1L0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0
cmVhbQp4nF2Qy27DIBBF93wFy3QRYbuJ3YWFFCWK5EUfqtsPwDB2kWJAY7zw35dH2kpdgM4w
c2e4w87dpTPasze0sgdPR20UwmJXlEAHmLQhZUWVlv4epVvOwhEWtP22eJg7M9q2Jew95BaP
G92dlB3ggbBXVIDaTHT3ee5D3K/O3WAG42lBOKcKxtDnWbgXMQNLqn2nQlr7bR8kfwUfmwNa
pbjMX5FWweKEBBRmAtIWBaft9coJGPUv12TFMMovgaGyDJVF0TQ8cJW4for8mLmMfMg1h8jH
/H6MXOf3OnKTuUoz793j9LieH1dUrojBUdphshJNaAO/a3bWRVU63+9Ze1cKZW5kc3RyZWFt
CmVuZG9iagoKOSAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9CYXNlRm9u
dC9CQUFBQUErTGliZXJhdGlvblNlcmlmCi9GaXJzdENoYXIgMAovTGFzdENoYXIgNwovV2lk
dGhzWzc3NyA3MjIgNTAwIDQ0MyAyNzcgNDQzIDUwMCAzMzMgXQovRm9udERlc2NyaXB0b3Ig
NyAwIFIKL1RvVW5pY29kZSA4IDAgUgo+PgplbmRvYmoKCjEwIDAgb2JqCjw8L0YxIDkgMCBS
Cj4+CmVuZG9iagoKMTEgMCBvYmoKPDwvRm9udCAxMCAwIFIKL1Byb2NTZXRbL1BERi9UZXh0
XQo+PgplbmRvYmoKCjEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCA0IDAgUi9SZXNvdXJj
ZXMgMTEgMCBSL01lZGlhQm94WzAgMCA1OTUgODQyXS9Sb3RhdGUgMAovR3JvdXA8PC9TL1Ry
YW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgMiAwIFI+PgplbmRv
YmoKCjQgMCBvYmoKPDwvVHlwZS9QYWdlcwovUmVzb3VyY2VzIDExIDAgUgovTWVkaWFCb3hb
IDAgMCA1OTUgODQyIF0KL0tpZHNbIDEgMCBSIF0KL0NvdW50IDE+PgplbmRvYmoKCjEyIDAg
b2JqCjw8L1R5cGUvQ2F0YWxvZy9QYWdlcyA0IDAgUgovVmlld2VyUHJlZmVyZW5jZXM8PC9E
aXNwbGF5RG9jVGl0bGUgdHJ1ZQo+PgovTGFuZyhlbi1VUykKPj4KZW5kb2JqCgoxMyAwIG9i
ago8PC9UaXRsZTxGRUZGMDA3NzAwNjgwMDYxMDA3NDAwNjUwMDc2MDA2NTAwNzIwMDJFMDA2
RjAwNjQwMDc0PgovQ3JlYXRvcjxGRUZGMDA0QzAwNjkwMDYyMDA3MjAwNjUwMDRGMDA2NjAw
NjYwMDY5MDA2MzAwNjUwMDIwMDAzNjAwMkUwMDMxMDAyRTAwMzUwMDJFMDAzMj4KL1Byb2R1
Y2VyPEZFRkYwMDRDMDA2OTAwNjIwMDcyMDA2NTAwNEYwMDY2MDA2NjAwNjkwMDYzMDA2NTAw
MjAwMDM2MDAyRTAwMzEwMDJFMDAzNTAwMkUwMDMyPgovQ3JlYXRpb25EYXRlKEQ6MjAyMDA5
MTQxNzM3MzIrMDInMDAnKT4+CmVuZG9iagoKeHJlZgowIDE0CjAwMDAwMDAwMDAgNjU1MzUg
ZiAKMDAwMDAwNjIyMyAwMDAwMCBuIAowMDAwMDAwMDE5IDAwMDAwIG4gCjAwMDAwMDAxODIg
MDAwMDAgbiAKMDAwMDAwNjM3NiAwMDAwMCBuIAowMDAwMDAwMjAxIDAwMDAwIG4gCjAwMDAw
MDU0MDkgMDAwMDAgbiAKMDAwMDAwNTQzMCAwMDAwMCBuIAowMDAwMDA1NjI1IDAwMDAwIG4g
CjAwMDAwMDU5NDkgMDAwMDAgbiAKMDAwMDAwNjEzNiAwMDAwMCBuIAowMDAwMDA2MTY4IDAw
MDAwIG4gCjAwMDAwMDY0NzUgMDAwMDAgbiAKMDAwMDAwNjU4MSAwMDAwMCBuIAp0cmFpbGVy
Cjw8L1NpemUgMTQvUm9vdCAxMiAwIFIKL0luZm8gMTMgMCBSCi9JRCBbIDw0MDlDMjI0NTA2
NEQwNDcyQUQzMkYyMDExRkY2RUNEND4KPDQwOUMyMjQ1MDY0RDA0NzJBRDMyRjIwMTFGRjZF
Q0Q0PiBdCi9Eb2NDaGVja3N1bSAvOUVCRDhERUZGNTRBOEU0M0EzNThEN0E3RDMzOTk0QkUK
Pj4Kc3RhcnR4cmVmCjY4ODUKJSVFT0YK
--------------5f5b6906_2eb141f2_326--

View File

@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
"""
This file demonstrates writing tests using the unittest module. These will pass
when you run "manage.py test".
@ -165,3 +166,15 @@ class SendMailAttachedFileTestCase(TestCase):
self.assertEquals(document.to_user.count(), 1)
self.assertEquals(document.to_list.count(), 0)
self.assertEquals(document.to_user.get(), self.to_user)
def test_email_wrong_encoding(db, settings):
settings.MEDIA_ROOT = MEDIA_ROOT
expedition_user = User.objects.create(username='expedition', id=1)
User.objects.create(username='recipient', email=RECIPIENT_EMAIL, id=2)
FileType.objects.create(name='QE-Question', id=2)
management.call_command(
'sendmail', RECIPIENT_EMAIL, file='tests/data/email-encoded-iso-8859-15-but-says-utf-8',
sender=expedition_user.username
)
assert Document.objects.count() == 1