Improve mail SPAM reputation

My outgoing mail from this service have a SPAM score of 6/15 (lower is better).
Score is calculated in this way:

  • HTML_SHORT_LINK_IMG_1 (2): remote content (links to images stored in my Bitwarden instance)
  • MISSING_MIME_VERSION (2): “MIME-Version” header is missing from MIME message
  • MIME_BASE64_TEXT_BOGUS (1): there is text encoded in base64 that does not contain any 8bit characters
  • MID_CONTAINS_FROM (1): “Message-ID” contains “From” address
  • MIME_BASE64_TEXT (0.1): there is text encoded in base64
  • MIME_GOOD (-0.1): Content part is ok
  • Other 0 score parameters

An example mail looks like this (can’t attach text file):

Return-Path: <bitwarden@example.org>
Delivered-To: user@example.org
Received: from example.org
	by ExampleORG with LMTP
	id vb74Jh1//19FEwAAUprYAg
	(envelope-from <bitwarden@example.org>)
	for <user@example.org>; Thu, 14 Jan 2021 00:15:41 +0100
X-Original-To: <user@example.org>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.org;
	s=r; t=1610579738;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:content-type:content-type;
	bh=+pJwRCrL5OCaYf+yFOX4GlJSm5M1hWaImHBTUSQkJm8=;
	b=TzK5HcwFTdrplC/thCZmJLqnw5iDOvidfmoJBcx+wRgM2pr9ha8RcdBrBLoqGcIoNahbfn
	DqL/2VYP1Bt2dPaAgGvTKI9s7ijB3GsYirHVJI8Dvs+1HUHlei6vbmNh4kB5/+VVaqNLA5
	TTfT6Wt4S1ZT6f9s44NWmtIP5zrNG1jWc4onyCsUJOFt21U/CauzVo5at5YUFeJH5VV5pe
	VkWSGpGOyZDD4+nLm7QN4fyou1wc15yCUa0h5MbbDr9qPuNv5BcbdfSyZuOATQD1yuQ2ZM
	5f3Xe83PPVj/GgjhNzpLl/lBDvhSn2MxF5XcDUwt8CUWHxemAxKAsI6/AEr5SA==
Message-Id: <1e90339fa1c844109dd9b5341e091ffd.bitwarden@example.org>
To: user@example.org
From: Bitwarden | ExampleORG <bitwarden@example.org>
Subject: New Device Logged In From Browser
Date: Wed, 13 Jan 2021 23:15:36 GMT
Content-Type: multipart/alternative; boundary="_Part_1e90339fa1c844109dd9b5341e091ffd_"
X-Spam: Yes

--_Part_1e90339fa1c844109dd9b5341e091ffd_
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset=utf-8

WW91ciBhY2NvdW50IHdhcyBqdXN0IGxvZ2dlZCBpbnRvIGZyb20gYSBuZXcgZGV2aWNlLgoKKiBEYXRlOiBUaHVyc2RheSwgSmFudWFyeSAxNCwgMjAyMSBhdCAxMjoxNTozNiBBTSArMDE6MDAKKiBJUCBBZGRyZXNzOiAxMC4xMC4xMC4xMAoqIERldmljZSBUeXBlOiBCcm93c2VyCgpZb3UgY2FuIGRlYXV0aG9yaXplIGFsbCBkZXZpY2VzIHRoYXQgaGF2ZSBhY2Nlc3MgdG8geW91ciBhY2NvdW50IGZyb20gdGhlIHdlYiB2YXVsdCAoIGh0dHBzOi8vYml0d2FyZGVuLmV4YW1wbGUub3JnLyApIHVuZGVyIFNldHRpbmdzID4gTXkgQWNjb3VudCA+IERlYXV0aG9yaXplIFNlc3Npb25zLgoKPT09CkdpdGh1YjogaHR0cHM6Ly9naXRodWIuY29tL2RhbmktZ2FyY2lhL2JpdHdhcmRlbl9ycw==
--_Part_1e90339fa1c844109dd9b5341e091ffd_
Content-Transfer-Encoding: base64
Content-Type: text/html; charset=utf-8

PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMzMzM7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBtYXJnaW46IDA7Ij4KICAgPGhlYWQ+CiAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiIC8+CiAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgICA8dGl0bGU+Qml0d2FyZGVuX3JzPC90aXRsZT4KICAgPC9oZWFkPgogICA8Ym9keSBzdHlsZT0iLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgaGVpZ2h0OiAxMDAlOyBsaW5lLWhlaWdodDogMjVweDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsiIGJnY29sb3I9IiNmNmY2ZjYiPgogICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgICAgICAuIGJvZHkgewogICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOwogICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgIGNvbG9yOiAjMzMzOwogICAgICAgICBsaW5lLWhlaWdodDogMjVweDsKICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsKICAgICAgICAgfQogICAgICAgICBib2R5ICogewogICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOwogICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgIGNvbG9yOiAjMzMzOwogICAgICAgICBsaW5lLWhlaWdodDogMjVweDsKICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsKICAgICAgICAgfQogICAgICAgICBpbWcgewogICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgfQogICAgICAgICBib2R5IHsKICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsKICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICBsaW5lLWhlaWdodDogMjVweDsKICAgICAgICAgfQogICAgICAgICBib2R5IHsKICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsKICAgICAgICAgfQogICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAgICAgIGJvZHkgewogICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgICAgICAgIH0KICAgICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgICAgfQogICAgICAgICAuY29udGFpbmVyLXRhYmxlIHsKICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgICAgICB9CiAgICAgICAgIC5jb250ZW50IHsKICAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMCAhaW1wb3J0YW50OwogICAgICAgICB9CiAgICAgICAgIC5jb250ZW50LXdyYXAgewogICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgIH0KICAgICAgICAgLmludm9pY2UgewogICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgICAgICB9CiAgICAgICAgIC5tYWluIHsKICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsKICAgICAgICAgfQogICAgICAgICAubG9nbyB7CiAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgIH0KICAgICAgICAgLmZvb3RlciB7CiAgICAgICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDsKICAgICAgICAgfQogICAgICAgICAuaW5kZW50ZWQgewogICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgICAgICAgIH0KICAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8dGFibGUgY2xhc3M9ImJvZHktd3JhcCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0iLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMzMzM7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBtYXJnaW46IDA7IHdpZHRoOiAxMDAlOyIgYmdjb2xvcj0iI2Y2ZjZmNiI+CiAgICAgICAgIDx0ciBzdHlsZT0iLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMzMzM7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBtYXJnaW46IDA7Ij4KICAgICAgICAgICAgPHRkIHZhbGlnbj0ibWlkZGxlIiBjbGFzcz0iYWxpZ25jZW50ZXIgbWlkZGxlIGxvZ28iIHN0eWxlPSItd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBjb2xvcjogIzMzMzsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDI1cHg7IG1hcmdpbjogMDsgcGFkZGluZzogMjBweCAwIDEwcHg7IiBhbGlnbj0iY2VudGVyIj4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2JpdHdhcmRlbi5leGFtcGxlLm9yZy9id3JzX3N0YXRpYy9sb2dvLWdyYXkucG5nIiBhbHQ9IiIgd2lkdGg9IjI1MCIgaGVpZ2h0PSIzOSIgc3R5bGU9Ii13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IGJvcmRlcjogbm9uZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMzMzM7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBtYXJnaW46IDA7IG1heC13aWR0aDogMTAwJTsiIC8+CiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgIDwvdHI+CiAgICAgICAgIDx0ciBzdHlsZT0iLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMzMzM7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBtYXJnaW46IDA7Ij4KICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250YWluZXIiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSItd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBjbGVhcjogYm90aCAhaW1wb3J0YW50OyBjb2xvcjogIzMzMzsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDI1cHg7IG1hcmdpbjogMCBhdXRvOyBtYXgtd2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7IHdpZHRoOiA2MDBweDsiIHZhbGlnbj0idG9wIj4KICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9ImNvbnRhaW5lci10YWJsZSIgc3R5bGU9Ii13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7IGNvbG9yOiAjMzMzOyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjVweDsgbWFyZ2luOiAwIGF1dG87IG1heC13aWR0aDogNjAwcHggIWltcG9ydGFudDsgd2lkdGg6IG1heC1jb250ZW50OyI+CiAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0iLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMzMzM7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBtYXJnaW46IDA7Ij4KICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50IiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMzMzM7IGRpc3BsYXk6IGJsb2NrOyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAwOyBsaW5lLWhlaWdodDogMDsgbWFyZ2luOiAwIGF1dG87IG1heC13aWR0aDogNjAwcHg7IHBhZGRpbmctYm90dG9tOiAyMHB4OyIgdmFsaWduPSJ0b3AiPgogICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9Im1haW4iIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHN0eWxlPSJmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzMzMzsgbGluZS1oZWlnaHQ6IDI1cHg7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyBtYXJnaW46IDA7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgYm9yZGVyOiAxcHggc29saWQgI2U5ZTllOTsgYm9yZGVyLXJhZGl1czogM3B4OyIgYmdjb2xvcj0id2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9Im1hcmdpbjogMDsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICMzMzM7IGxpbmUtaGVpZ2h0OiAyNXB4OyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudC13cmFwIiBzdHlsZT0iZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICMzMzM7IGxpbmUtaGVpZ2h0OiAyNXB4OyBtYXJnaW46IDA7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyBwYWRkaW5nOiAyMHB4OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IiB2YWxpZ249InRvcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0ibWFyZ2luOiAwOyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzMzMzsgbGluZS1oZWlnaHQ6IDI1cHg7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSJtYXJnaW46IDA7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjMzMzOyBsaW5lLWhlaWdodDogMjVweDsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnQtYmxvY2siIHN0eWxlPSJmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzMzMzsgbGluZS1oZWlnaHQ6IDI1cHg7IG1hcmdpbjogMDsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IHBhZGRpbmc6IDAgMCAxMHB4OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IiB2YWxpZ249InRvcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlvdXIgYWNjb3VudCB3YXMganVzdCBsb2dnZWQgaW50byBmcm9tIGEgbmV3IGRldmljZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSJtYXJnaW46IDA7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjMzMzOyBsaW5lLWhlaWdodDogMjVweDsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNvbnRlbnQtYmxvY2siIHN0eWxlPSJmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzMzMzsgbGluZS1oZWlnaHQ6IDI1cHg7IG1hcmdpbjogMDsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IHBhZGRpbmc6IDAgMCAxMHB4OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IiB2YWxpZ249InRvcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkRhdGU8L2I+OiBUaHVyc2RheSwgSmFudWFyeSAxNCwgMjAyMSBhdCAxMjoxNTozNiBBTSArMDE6MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9Im1hcmdpbjogMDsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICMzMzM7IGxpbmUtaGVpZ2h0OiAyNXB4OyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY29udGVudC1ibG9jayIgc3R5bGU9ImZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiAjMzMzOyBsaW5lLWhlaWdodDogMjVweDsgbWFyZ2luOiAwOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgcGFkZGluZzogMCAwIDEwcHg7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsiIHZhbGlnbj0idG9wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPklQIEFkZHJlc3M6PC9iPiAxMC4xMC4xMC4xMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0ibWFyZ2luOiAwOyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzMzMzsgbGluZS1oZWlnaHQ6IDI1cHg7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50LWJsb2NrIiBzdHlsZT0iZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6ICMzMzM7IGxpbmUtaGVpZ2h0OiAyNXB4OyBtYXJnaW46IDA7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyBwYWRkaW5nOiAwIDAgMTBweDsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyIgdmFsaWduPSJ0b3AiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+RGV2aWNlIFR5cGU6PC9iPiBCcm93c2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0ibWFyZ2luOiAwOyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzMzMzsgbGluZS1oZWlnaHQ6IDI1cHg7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjb250ZW50LWJsb2NrIGxhc3QiIHN0eWxlPSJmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogIzMzMzsgbGluZS1oZWlnaHQ6IDI1cHg7IG1hcmdpbjogMDsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IHBhZGRpbmc6IDA7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsiIHZhbGlnbj0idG9wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gZGVhdXRob3JpemUgYWxsIGRldmljZXMgdGhhdCBoYXZlIGFjY2VzcyB0byB5b3VyIGFjY291bnQgZnJvbSB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9iaXR3YXJkZW4uZXhhbXBsZS5vcmcvIj53ZWIgdmF1bHQ8L2E+IHVuZGVyIFNldHRpbmdzID4gTXkgQWNjb3VudCA+IERlYXV0aG9yaXplIFNlc3Npb25zLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9ImZvb3RlciIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgc3R5bGU9Ii13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGNsZWFyOiBib3RoOyBjb2xvcjogIzk5OTsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IDIwcHg7IG1hcmdpbjogMDsgd2lkdGg6IDEwMCU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSItd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBjb2xvcjogIzMzMzsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDI1cHg7IG1hcmdpbjogMDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImFsaWduY2VudGVyIHNvY2lhbC1pY29ucyIgYWxpZ249ImNlbnRlciIgc3R5bGU9Ii13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGNvbG9yOiAjOTk5OyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMjBweDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAxNXB4IDAgMCAwOyIgdmFsaWduPSJ0b3AiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0iLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMzMzM7IGZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNXB4OyBtYXJnaW46IDAgYXV0bzsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9Ii13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGNvbG9yOiAjMzMzOyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjVweDsgbWFyZ2luOiAwOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9Ii13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGNvbG9yOiAjOTk5OyBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMjBweDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwIDEwcHg7IiB2YWxpZ249InRvcCI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RhbmktZ2FyY2lhL2JpdHdhcmRlbl9ycyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSItd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBjb2xvcjogIzk5OTsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IDIwcHg7IG1hcmdpbjogMDsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij48aW1nIHNyYz0iaHR0cHM6Ly9iaXR3YXJkZW4uZXhhbXBsZS5vcmcvYndyc19zdGF0aWMvbWFpbC1naXRodWIucG5nIiBhbHQ9IkdpdEh1YiIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiBzdHlsZT0iLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgYm9yZGVyOiBub25lOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBjb2xvcjogIzMzMzsgZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDI1cHg7IG1hcmdpbjogMDsgbWF4LXdpZHRoOiAxMDAlOyIgLz48L2E+PC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgPC90ZD4KICAgICAgICAgPC90cj4KICAgICAgPC90YWJsZT4KICAgPC9ib2R5Pgo8L2h0bWw+
--_Part_1e90339fa1c844109dd9b5341e091ffd_--


Not related to SPAM, but how can setting “SMTP_DEBUG=true” show password? Aren’t they encrypted client side?

I will see what we can do about these spam-triggers on our side.
There are also some changes at the mail library which arn’t finalized yet which can help with this.

Regarding the disclosure of sensitive data.
Well, smtp is a plain/text protocol including auth. This information could also be displayed in the smtp logs, that is why. Besides other information like username, host etc…

Oh ok, so you were referring to SMTP credentials, not Bitwarden users’ passwords, got it

I’m currently updating the mail code.
I don’t know why your mail doesn’t contain the Mime-Version header, but it should have that.
Maybe you are using an older version of bitwarden_rs which does not have some other changes, in all my tests it has this mime header.

I did fixed the Message-ID, so that should at least be 1 point less.
Regarding the Base64, that is not going to change, we had some strange issues without using Base64 encoding which caused broken links or not visible e-mails in some clients.

And the HTML_SHORT_LINK_IMG, that is probably because you have a very short DOMAIN i think.
Also, that is not something we can fix, unless we are going to embed the images, which could be an option. But not something i will add right now.

I don’t know why your mail doesn’t contain the Mime-Version header, but it should have that.

Just checked, it was a MTA misconfiguration on my side