This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
how_to:data_stream_contained_nul_character [2015/09/30 11:37] – paul | how_to:data_stream_contained_nul_character [2018/11/14 10:45] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
======Data stream contained NUL character====== | ======Data stream contained NUL character====== | ||
+ | |||
+ | =====Description of the problem===== | ||
NUL characters (bytes with value 0) are not allowed in email messages and should not be transmitted over POP3, SMTP or IMAP4 except in certain circumstances. If an attachment contains such a byte it must be encoded using //Base64// or // | NUL characters (bytes with value 0) are not allowed in email messages and should not be transmitted over POP3, SMTP or IMAP4 except in certain circumstances. If an attachment contains such a byte it must be encoded using //Base64// or // | ||
In some cases, messages will arrive at VPOP3 which do contain such characters. This is usually due to a bug in the upstream mail server which has accepted a message with a NUL character and is passing it on unchanged. The email standards say that these characters are not allowed, so they should not be passed on. | In some cases, messages will arrive at VPOP3 which do contain such characters. This is usually due to a bug in the upstream mail server which has accepted a message with a NUL character and is passing it on unchanged. The email standards say that these characters are not allowed, so they should not be passed on. | ||
+ | |||
+ | For incoming SMTP, VPOP3 will reject a message that contains a NUL character and the sender should receive a delivery failure report. This is the correct thing to do when receiving an invalid message. | ||
+ | |||
+ | For incoming POP3, VPOP3 will not download the message, it will report an error message to the administrator, | ||
So, the ideal solution would be for the upstream mail server to sort the problem out, as the problem is coming from there (they should either reject the message, or recode the message to base64 or quoted-printable encoding). | So, the ideal solution would be for the upstream mail server to sort the problem out, as the problem is coming from there (they should either reject the message, or recode the message to base64 or quoted-printable encoding). | ||
+ | |||
+ | =====Changing how VPOP3 handles the invalid characters===== | ||
If that is not possible, then you can make VPOP3 handle the problem differently. VPOP3 can either remove the nul character totally, or replace it with a specified character (eg a space or question mark) | If that is not possible, then you can make VPOP3 handle the problem differently. VPOP3 can either remove the nul character totally, or replace it with a specified character (eg a space or question mark) | ||
+ | |||
+ | ====Version 6.17 or later==== | ||
+ | In the VPOP3 settings go to Settings -> Misc Settings -> Advanced and set the **NULL characters in POP3 downloads** option as you wish. | ||
+ | |||
+ | ====Version 6.16 or earlier==== | ||
To do this for POP3 collection (the usual time it is needed) go to a command prompt in the VPOP3 directory and run: | To do this for POP3 collection (the usual time it is needed) go to a command prompt in the VPOP3 directory and run: | ||
Line 14: | Line 27: | ||
For instance, to make VPOP3 set NUL characters to spaces, use: | For instance, to make VPOP3 set NUL characters to spaces, use: | ||
vpop3settings set POP3CltNullCharacterReplacement 32 | vpop3settings set POP3CltNullCharacterReplacement 32 | ||
+ | {{: | ||
+ | | ||
+ | | ||
+ | After doing this, you should restart VPOP3, and check that the setting is there by running, from a command prompt: | ||
+ | vpop3settings get POP3CltNullCharacterReplacement | ||
+ | {{: | ||
You can also use '' | You can also use '' | ||
Line 20: | Line 39: | ||
Set the < | Set the < | ||
+ | |||
+ | **Note:** you should use VPOP3 v6.16 or later if possible. Earlier versions had a bug which meant this setting did not work in every situation. | ||
+ | | ||
| | ||
+ | Keywords: null character 10506 |