#!/bin/sh -e cd ${0%/*} . ./lib.sh plan 3 # Mail with \n\n and \r\n\r\n cr=$(printf '\r') cat <tmp Content-Type: multipart/form-data; boundary=------------------------55a586f81559face$cr $cr --------------------------55a586f81559face$cr Content-Disposition: form-data; name="a"; filename="foo"$cr Content-Type: application/octet-stream$cr $cr foo$cr previously there are two NL$cr $cr --------------------------55a586f81559face$cr Content-Disposition: form-data; name="a"; filename="bar"$cr Content-Type: application/octet-stream$cr $cr bar$cr $cr --------------------------55a586f81559face--$cr EOF check 'mail has 3 attachments' 'mshow -t ./tmp | wc -l | grep 4' check 'mail attachment foo has size 35' 'mshow -t ./tmp | grep size=35.*name=\"foo\"' # Mail with linebreaks in base64 quartets cat <tmp Subject: base64 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_2f8f1e2243b55f8618eaf0d9_=_" This is a multipart message in MIME format. ------_=_2f8f1e2243b55f8618eaf0d9_=_ Content-Disposition: attachment; filename=base64 Content-Type: application/binary Content-Transfer-Encoding: base64 dGhp cyBpc yBzb21 lIGJhc2 U2NAo= ------_=_2f8f1e2243b55f8618eaf0d9_=_-- EOF check 'mail decodes correctly' 'mshow -O ./tmp 2 | grep -q "this is some base64"'