POP3メールデータ取得バッチファイル事例 new!

他社製メールサーバなど、POP3使用時のメールボックスフォルダに残っているメールデータがある場合、1台のWindowsマシンからバッチファイルによってPOP3メールデータ取得を行うには、事例にあるバッチファイルおよびリストファイルを任意フォルダ内に作成し、管理者権限のコマンドプロンプトから実行します。
バッチファイル実行に当たっては、接続メールサーバのIPアドレス、ポート番号(通常は110)をバッチファイル【get_pop_data2.bat】内の"set adr="部分に記述することと、すべてのユーザーアカウント(メールアドレス)とそれぞれPOP3パスワードが事前に判明しており、それらの情報と保存先フォルダをリストファイル【userlist.txt】へあらかじめ全部登録しておく作業が必須になります。メールサーバ製品種類を問わないでご利用になれると思いますが、すべてのユーザーのPOP3パスワードがわからない場合は、このバッチファイルは使えません。バッチファイルを実行すると"A000000001.MSG"というファイル連番形式で保存先フォルダへメールデータが出力されます。
ちなみにE-Postシリーズでは、ユーザー管理がSoftAccount方式であれば、ユーザーエクスポート時にPOP3パスワードも合わせて出力できます。
【get_pop_data2.bat】 POP3メールデータ取得バッチファイル事例 下線部書き換え
@echo off
setlocal enabledelayedexpansion

rem userlist.txtへカンマ区切りで保存右記の書式で保存 ユーザーアカウント,パスワード,保存先フォルダ
rem 接続アドレス:ポート
set adr=pop3://10.0.1.9:110/

rem ユーザリストuserlist.txtからID,PWを取得し順次保存
for /f "tokens=1,2,3 delims=, " %%a in (userlist.txt) do (

echo %%a
echo %%b
echo %%c

mkdir %%c
curl -u "%%a:%%b" %adr% -o list.txt

for /f %%d in (list.txt) do (

set num=000000000%%d
set num=!num:~-9,9!
rem echo !num!

curl -u "%%a:%%b" %adr% -X "RETR %%d" -o %%cA!num!.MSG
)
)

endlocal

【userlist.txt】 リストファイル事例 ※書式:ユーザーアカウント(メールアドレス),POP3パスワード,保存先フォルダ ※すべてのユーザーアカウントの登録が必要
dummy@domain.test,dummy,inbox\dummy\
    :    
    :    

(関連FAQ)
IMAP4メールデータ取得バッチファイル事例