現在地:オレ様のWP > HSP > 実例講座 > メールを送信する
オレ様のWP

4.メールを送信する

HSP+hspsockでメールを送信してみましょう

◆どう作るか

はい、めんどくさいですねw
でも考えましょう

今回は、
  1. サーバーに接続・コマンドを送信
  2. サーバーの応答をrepeat〜loopでチェックしまくる
  3. 応答があったら次の処理へ(繰り返し
のようにします。

◆作成

ちょいと今回は解説するところが無いので、完成スクリプトだけで勘弁してください。そのかわりコメントを充実させましたからw
#include "hspsock.as"

server="smtp.mail.yahoo.co.jp"		;サーバーアドレス
port=587					;ポート番号(こちらを参照)
user="*****"				;ユーザー名をBASE64エンコードしたもの
pass="*****"				;パスワードをBASE64エンコードしたもの
from="*****@yahoo.co.jp"			;送信元アドレス
to="*****@yahoo.co.jp"			;送信先アドレス
sub="=?ISO-2022-JP?B?GyRCJEYkOSRIITwbKEI=?="	;題名をMIMEエンコードしたもの
data="てすとめーる"			;メール本文


log=str(log)				;ログ代入変数を文字列型に変換

sockopen 0,server,port			;サーバーへ接続
repeat
sockcheck 0				;応答が来ているかチェック
if stat=0 : break				;応答があったらループを抜ける
wait 10
loop
sockget log,1024,0				;応答をログ変数に代入
mes log					;応答を表示

sockput "EHLO "+server+"\n",0		;接続コマンドを送信
repeat
sockcheck 0
if stat=0 : break
wait 10
loop
sockget log,1024,0
mes log

sockput "AUTH LOGIN\n",0			;AUTH認証を使うと宣言するコマンドを送信
repeat
sockcheck 0
if stat=0 : break
wait 10
loop
sockget log,1024,0
mes log

sockput user+"\n",0			;ユーザー名を送信
repeat
sockcheck 0
if stat=0 : break
wait 10
loop
sockget log,1024,0
mes log

sockput pass+"\n",0			;パスワードを送信
repeat
sockcheck 0
if stat=0 : break
wait 10
loop
sockget log,1024,0
mes log

sockput "MAIL FROM:"+from+"\n",0		;メール送信元を送信
repeat
sockcheck 0
if stat=0 : break
wait 10
loop
sockget log,1024,0
mes log

sockput "RCPT TO:"+to+"\n",0		;メール送信先を送信
repeat
sockcheck 0
if stat=0 : break
wait 10
loop
sockget log,1024,0
mes log

sockput "DATA\n",0				;本文等を送信する宣言コマンドを送信
sockput "From:"+from+"\n",0			;メール送信元をヘッダとして送信
sockput "to:"+to+"\n",0			;メール送信先をヘッダとして送信
sockput "Subject:"+sub+"\n\n",0		;題名を送信
sockput data+"\n",0			;本文を送信
sockput ".\n",0				;送信が終了したことを宣言するコマンドを送信
repeat
sockcheck 0
if stat=0 : break
wait 10
loop
sockget log,1024,0
mes log

sockput "QUIT\n",0				;サーバーから切断するコマンドを送信
repeat
sockcheck 0
if stat=0 : break
wait 10
loop
sockget log,1024,0
mes log

◆画像

スクリーンショット送信されたメール

◆カウンター

161419

◆愚痴等

※オレ様キーロガーの後継ソフト「ControlCatcher Ver1.0β」を公開しました。