On Sat, Dec 01, 2012 at 03:15:09AM -0500, pac...@kosh.dhis.org wrote: > brian m. carlson writes: > > > > cron sends 8-bit messages that are lacking a MIME-Version header. This > > is in violation of RFC 5321 =C2=A7 2.3.1: > > It is impossible for cron to violate the SMTP specification, because cron > doesn't use SMTP. In the simplest configuration, mail from cron can be > delivered without ever going over the network at all.
RFC 5322 specifies that email messages are composed of "characters with values in the range of 1 through 127 and interpreted as US-ASCII". If you want something other than those byte values, you need MIME. 8-bit non-MIME data is not valid email and Postfix correctly rejects it. How close it is to a valid message or how much it might resemble one is irrelevant. The fact is, it does not conform. > > Because I have configured Postfix to reject invalid 8-bit data, certain > > Where is the specification that says 8-bit data is invalid when sent on the > pipe-to-/usr/sbin/sendmail interface? (It won't be an RFC. IETF doesn't have > authority over pipes!) If you want to send an email message, it has to conform to RFC 5322 (or a standard that overrides it, such as the MIME standards). If you don't want to send an email message, you're talking to the wrong program. Postfix only accepts email. Regardless, the issue is also that since 8-bit data without MIME is nonsensical. Without MIME, you have no Content-Type header, and therefore no character set. The default character set is US-ASCII, and clearly the data is not US-ASCII, so how is mutt supposed to interpret this data? > Cron can't make use of 8BITMIME even if it wanted to. 8BITMIME is negotiated > by SMTP commands that do not exist in the pipe-based mail submission > interface used by cron. And it's not necessary there anyway. Cron is > submitting a message in unix format (not Internet format), over a pipe (not > an SMTP connection). Pipes are always 8-bit clean, no negotiation required. Not true. The -B8BITMIME option is well-supported. Sendmail, Postfix, Exim, and esmtp-run all support it, and I have yet to find an MTA that doesn't. If you find one in Debian, please report a bug. > If the MTA, during an SMTP transaction occurring some time after cron has > submitted the message, decides to convert the message to MIME and makes a > mess of it, don't blame cron. The problem is that you're sending data that is 8-bit without MIME, which is not valid according to the RFCs that define email. Postfix is configured to reject as much non-email as I can get it to, since being non-email over an email transport is highly correlated with being unsolicited and bulk. Plus it forces people to actually fix their broken systems and stop sending me data where I have to play guess-the-character-set. -- brian m. carlson / brian with sandals: Houston, Texas, US +1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
signature.asc
Description: Digital signature