JavaMailで送信する際のヘッダ設定の注意点
iso-2022-jpでメールを送信する際に、日本語が含まれるとquoted-printableで送信される*1。
quoted-printableで送信させたくない場合には、明示的にヘッダにContent-Transfer-Encoding:7bitを指定する必要がある。
その場合、MimeMessage#setHeaderでヘッダを指定するのであるが、MimeMessage#setTextを呼び出す後にMimeMessage#setHeaderを呼び出す必要がある。MimeMessage#setHeaderを先に呼び出してしまうと、やはり自動的にエンコードが指定されてしまうので注意。
例
msg.setText(bodymessage,"ISO-2022-JP");
msg.setHeader("Content-Transfer-Encoding", "7bit");