BlankSub

Set unquoted space replacement character All versions

Some mailer programs have difficulty handling addresses that contain spaces. Such addresses are both illegal under RFC2821 and RFC2822 and subject to gross misinterpretation. For example, the address:

John Q Public@wash.dc.gov        ← decidedly not kosher

is viewed by some MUA programs as being composed of three separate addresses: John, Q, and Public@wash.dc.gov. To prevent this misinterpretation, such MUAs usually either quote the user portion or escape each space with a backslash:

"John Q Public"@wash.dc.gov        ← quoted
John\ Q\ Public@wash.dc.gov        ← escaped

The BlankSub option is intended to handle an address that contains internal spaces, and is neither quoted nor escaped. For sendmail, a space is any character defined by the C-language library routine isspace(3).

Most sites use a . (dot or period) or an _ (underscore) character to replace unquoted space characters. That is, they declare the BlankSub option as one of the following:

O BlankSub=.
O BlankSub=_

Feeding the address:

John Q Public@wash.dc.gov

through sendmail with the option BlankSub set to a dot yields:

John.Q.Public@wash.dc.gov

The forms of the BlankSub option are as follows:

O BlankSub=charconfiguration file (V8.7 and later)
-OBlankSub=char                ← command line (V8.7 and later)
define(`confBLANK_SUB',char)   ← mc configuration (V8.7 and later)
OBcharconfiguration file (deprecated)
-oBcharcommand line (deprecated)

The argument char is of type character and is a single character. ...

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.