今回は、airxmailのちょっと変わった使い方とでもいうのでしょうか?
(airxmailの説明はこちらをご覧ください。)
まあ、技術的にはSMTPでメールを送っているだけですが、こんなこともできますよーという一例の紹介です。
最近、Google バズというものがあるらしく、そこにAirxmailを使ってバズって(っていうの?)見ました。
と実は、これ簡単。
前回、「airxmailでGmailを使ってメールを送信する」の応用です。
といってもほとんど同じ、変わるところは以下の2つ。
1)宛先を buzz@gmail.comにすること。
2)メールのヘッダの文字コードをUTF-8にすること。
さて、
sender = new SMTPSender(); sender.setParameter(SMTPSender.HOST,"smtp.gmail.com"); sender.setParameter(SMTPSender.PORT,465); // SMTP-AUTHの使用 sender.setParameter(SMTPSender.AUTH,true); sender.setParameter(SMTPSender.USERNAME,username); sender.setParameter(SMTPSender.PASSWORD,password); // STARTTLSの使用 sender.setParameter(SMTPSender.SOCKET_OBJECT,new com.hurlant.crypto.tls.TLSSocket());
は前回と一緒。
ここからが、ちょっと違う。
AirxMailConfig.setDefaultBodyCharset("UTF-8");
AirxMailConfig.setDefaultHeaderCharset("UTF-8");
var mimeMsg:MimeMessage = new MimeMessage();
var from:INetAddress = new INetAddress();
from.personal = "おれじゃ"; // 特に何も反映されないようですが・・・
from.address = this.fromEmail;
mimeMsg.setFrom(from);
var toAddr:INetAddress = new INetAddress("buzz@gmail.com","buzz");
mimeMsg.addRcpt(RecipientType.TO,toAddr);
// set mail subject
mimeMsg.setSubject("初めてのBuzzzzzzz! From airxmail");
mimeMsg.setTextBody(""); // ここで、本文はなくても、空で設定が必要。現在、airxmailのバグ
sender.send(mimeMsg);
sender.close();
ということです。
AirxMailConfig.setDefaultBodyCharset("UTF-8");
AirxMailConfig.setDefaultHeaderCharset("UTF-8");
の2つで、本文とヘッダのデフォルトの文字コードを変えることができます。
もしくは、サブジェクトだけの文字コードを変えるのであれば、
mimeMsg.setSubject("これでもだいじょうぶだよー。Buzzzzzzz! From airxmail","UTF-8");
でも、問題ありません。


