読者です 読者をやめる 読者になる 読者になる

Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

Javaからメールを送信 ~迷惑メール業者を駆逐してやる~

スポンサードリンク

サブタイトルは冗談です。
本当にこの手法を使ってものすごい勢いでメールボムを作ると法律に抵触します。

ある程度細かく説明していますが、一定の知識がない人にはできないと思われるため、
まぁ小学生みたいのには悪用されないだろうと思い、
書きます(凄腕小学生ハッカーとかいそうなもんだけど(・・;))。

iPhoneを1ヶ月前に購入して、誰にもメールアドレスを教えていません。
友達いないから、じゃなくてみなさんあんまりキャリアメールとか使いませんよね?そんなんなのに奴は突然来た。

f:id:fa11enprince:20140413070950p:plain

あの日枕を濡らした夜もお構いなしに。

f:id:fa11enprince:20130507203027j:plain
© 諫山創・講談社/「進撃の巨人」製作委員会
TVアニメ「進撃の巨人」公式サイト

来るわ来るわ…次々と。iPhoneが全力で震撼している。

陽菜さんから新しいメッセージが届きました!!

★タイトル★
陽菜です(>_<)さっきのメールは見てもらえました…?
友達だと思ってたのに実はみんなは私ののことウザイって思ってたみたい…。

☆メール送受信無料!☆
↓続きを読む。お返事はココ↓
リンク先URL hogehoge.com

会員ID:10003601827
パスワード:7789

サイト名:
ラブ

f:id:fa11enprince:20140413073509g:plain
とか賢者モードになりつつも、
迷惑メール業者にあおられている現実は存在する。

そのとき僕の中で何かがはじけた。
f:id:fa11enprince:20140413071624j:plain
© 諫山創・講談社/「進撃の巨人」製作委員会
TVアニメ「進撃の巨人」公式サイト
駆逐してやる

と、脱線しましたが、Javaでのメールの送り方でした。
eclipse上での開発を前提としています。

java mailのダウンロード

Sun…Oracleさんのページに行ってjava mailをダウンロードします。
http://www.oracle.com/technetwork/java/javamail/index-138643.html
今回はjavamail1_4_7.zipを使うことにします。
テキトーな場所にに解凍します。
javamail1_4_7\javamail-1.4.7
にmail.jarというのがあります。今回はこいつを使います。
細かいことはJavaMailのjavadocをみればかいてありますが、
今回は詳細に書くということで……。

プロジェクトを作成する

eclipseを起動して
MailUtilというプロジェクトを作ります。
ビルドパスを追加します。
外部JARの追加でmail.jarを追加してやってください。

プログラムを作る

MailSenderというクラスを作ります。
これはjava mailをラップしてやってちょっと使いやすくしたクラスです。
機能的にはMailSenderが持っているプロパティに値をセットしてやって
MailSender#send()を読んでやればメール送信という感じで使えるものにします。
ただ、設定をJavaからするのはめんどくさいので
ResourceBundleを使ってある程度設定ファイルから読み込めるようにしておきます。
そのほかテスト用のクラスのMailSender.java
設定ファイルのmail.properties(UTF-8)
mail_template(UTF-8)を作成します。
こんな感じで作られていればOKです。
f:id:fa11enprince:20140413074245p:plain

MailSender.javaですが、ダラダラと長いですが、長い部分はJavaBeanのように
とりあえず全部Getter/Setter作ってやれって感じで作ったものです。
プロパティファイルだけから読ませる方針ならいらないものは結構あります。
本当に必要な処理は後半のちょこっとだけ。
MailSender.java

今回は添付画像ファイルに対応してませんが、コメント部分をちょこちょこ変えると対応できるかと思います。僕はめんどくさくてやめました(笑)

使う側のクラスはこんな感じです。
今回はGmailでSMTPとSTARTTLSを使ってやってみました。
MailTest.java

mail.properties

mail_template

あとはSleepでも仕込んでループでも回せば、、、

やめてください。ちゃんとしかるべきところに通報しましょう。
さて、迷惑メール業者を通報しますか。