スクリプトプリクス トップ >> HSP3 >> hspsock32を使ったYahoo!メールの受信サンプル

hspsock32を使ったYahoo!メールの受信サンプル

スポンサーリンク

hspsock32を作り始めたあとGmailが受信できないかなと思っているのですが、
SSL対応だとちょっと調べたところOpenSSLを使用しないとなんともならなさそう…

OpenSSLに手を出さなきゃだめなのか…


最近、GmailをはじめメールサービスがSSL対応になっています。
去年いきなりYahoo!メールがSSL対応になったときには、
普通に受信できなくてあせったことがあります。(今はSSL無しでも受信できるようです。)

SSLはOpenSSLを導入しないと汎用性が無いことがわかったので、
とりあえず、普通のメールの受信だけでもと思い、
普通のメールのサンプルを書いてみました。

メールソフトを作成するのが目的ではないので、
本当にメール一通の受信をテストするのみのサンプルです。

以下のサンプルは、本家の「hspsock.dll」では動かないです。
「sockopen」のパラメータの指定とかで引っかかったはず…


#include "hspsock32.as"
#include "encode.as"

screen 0, 640, 550

user="********";ユーザー名
server="pop.mail.yahoo.co.jp" ;サーバーアドレス
port=110;ポート番号
pass="********";パスワード
sdim log, 1024

sockopen 0, server, port
sockget log,1024,0
mes "mes01 : "+ stat +" "+ log

sockput "user "+user+"\n", 0
sockget log,1024,0
mes "mes02 : "+ stat +" "+ log

sockput "pass "+pass+"\n", 0
sockget log,1024,0
mes "mes03 : "+ stat +" "+ log

sockput "stat\n", 0
sockget log,1024,0
mes "mes05 : "+ stat +" "+ log

sockput "retr 2\n", 0 ;ここで何通目のメールを受信するか指定
sockget log,1024,0
color
mes "mes06 : "+ stat +" "+ log

sockput "quit\n", 0

sdim log2,1024
sockcheck_t 0,0,20000
if(stat == 0){
repeat
sockget log,1024,0
log2 += log
if (strlen(log)=0) :break
log=""
wait 10
loop

dataidx = instr(log2,0,"\n\n") ;最初の"連続改行"まで区切る
sz_data = strlen(log2)-(dataidx+4) ; データサイズ
sdim data, sz_data+1
memcpy data, log2, sz_data,0, dataidx+4 : poke data,sz_data
sdim data2, strlen(data)-27
memcpy data2, data, strlen(data)-30,0,0 : poke data2,strlen(data)-30

log2 = ""
sdim test,strlen(data2)
log2 = data2

sdim log,strlen(log2)
log = jis2sjis(log2)
}

mes "mes07 : "+ stat
mesbox log, 640, 200

sockclose 0
mes "END"


「hspsock32.as」は拙作のhspsock互換モジュールです。

HSP3のsock系互換モジュール、hspsock32で手に入れられます。


「encode.as」は文字列変換のモジュールです。

Module/文字コード変換モジュール - HSP開発wiki

上のサイトに行けばすぐ手に入ります。


ユーザー名(アカウント)とパスワードを入力して試してみるといいです。

POP3での受信しか試していません。
POP3コマンドの一覧でPOP3のコマンドを確かめていろいろ弄くってみると
メールソフトなんか簡単に出来ちゃうかも?



スポンサーリンク
posted by シモン at 22:22 | Comment(0) | TrackBack(0) | HSP3
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。