|
マクロ作ってみました。一応そこそこテストしたのでうまく動くと思います。
----------------------------------------------------------------------------
------------
//アカウント自動登録マクロ by 秀まるお
// 2020.10.01
//
//
$email = input("アカウントを自動設定に基づいて作成します。\nメールアドレ
スは?");
if( $email == "" ) {
endmacro;
}
#x = strstr($email,"@");
if( #x < 0 ) {
message "メールアドレスの中に@がありません。";
endmacro;
}
$domain = midstr( $email, #x + 1 );
$atleft = leftstr( $email, #x );
openreg "LOCALMACHINE", "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\U
ninstall\\TuruKame";
$path = getregstr("InstallLocation");
closereg;
$inifile = $path + "\\AccountAutoConfig.txt";
if( !existfile($inifile) ) {
message "AccountAutoConfig.txtが見つかりません。マクロを終了します。";
endmacro;
}
$serviceName = getinistr($inifile, $domain, "name");
if( $serviceName == "" ) {
#x = strstr( $domain, "." );
if( #x >= 0 ) {
$domain2 = "*" + midstr( $domain, #x );
$serviceName = getinistr($inifile, $domain2, "name");
if( $serviceName != "" ) {
$domain = $domain2;
}
}
}
if( $serviceName == "" ) {
message "AccountAutoConfig.txtの中から自動設定を見つけることが出来ま
せんでした。\n対象のドメイン = " + $domain + "\n設定ファイル = " + $inifile;
endmacro;
}
$pop = getinistr($inifile, $domain, "pop");
$imap = getinistr($inifile, $domain, "imap");
if( $pop != "" && $imap != "" ) {
question "POP3かIMAP4かどっちで受信しますか?\n[はい] → POP3\n[いい
え] → IMAP4";
if( result == yes ) {
$imap = "";
} else {
$pop = "";
}
}
$smtp = getinistr($inifile, $domain, "smtp");
loaddll "tkinfo.dll";
$account = $email;
#count = 1;
while(1) {
$s = dllfuncstr("AccountFrom", $account);
if( $s == "" ) {
break;
}
#count = #count + 1;
if( #count >= 10 ) {
//エラー
message "同じメールアドレスでアカウントがすでに9個作成されてます。
中止します。";
endmacro;
}
$account = $email + "(" + str(#count) + ")";
}
#n = dllfunc("MakeAccount", $account);
if( #n == 0 ) {
message "アカウントの作成に失敗しました。アカウント名 = " + $account;
endmacro;
}
#n = dllfunc("LoadAccountProp", $account);
if( #n == 0 ) {
message "アカウント毎設定の読み込みに失敗しました。アカウント = " +
$account;
endmacro;
}
#n = dllfunc("SetAccountProp", "szEmail", $email);
#n = dllfunc("SetAccountProp", "szSmtpServer", $smtp);
if( getininum($inifile, $domain, "smtpssl") >= 1 ) {
//popssl=1の場合
#n = dllfunc("SetAccountProp", "nSmtpPort", 465);
#n = dllfunc("SetAccountProp", "fSmtpOverSSL", 1);
} else {
if( getininum($inifile, $domain, "smtpstarttls") >= 1 ) {
#n = dllfunc("SetAccountProp", "fSmtpOverSSL", 1);
#n = dllfunc("SetAccountProp", "fSmtpStartTLS", 1);
}
if( getininum($inifile, $domain, "obp25") >= 1 ) {
#n = dllfunc("SetAccountProp", "nSmtpPort", 587);
}
}
if( $pop != "" ) {
#n = dllfunc("SetAccountProp", "szPop3Server", $pop);
#n = dllfunc("SetAccountProp", "recvSrv", 0);
if( getininum($inifile, $domain, "popssl") >= 1 ) {
//popssl=1の場合
#n = dllfunc("SetAccountProp", "nPop3Port", 995);
#n = dllfunc("SetAccountProp", "fPopOverSSL", 1);
}
} else {
#n = dllfunc("SetAccountProp", "szPop3Server", $imap);
#n = dllfunc("SetAccountProp", "recvSrv", 0xA9);
if( getininum($inifile, $domain, "imapssl") >= 1 ) {
//popssl=1の場合
#n = dllfunc("SetAccountProp", "nPop3Port", 993);
#n = dllfunc("SetAccountProp", "fPopOverSSL", 1);
}
}
$id = getinistr($inifile, $domain, "id");
if( $id == "email" ) {
#n = dllfunc("SetAccountProp", "szPop3Account", $email);
} else if( $id == "atleft" ) {
#n = dllfunc("SetAccountProp", "szPop3Account", $atleft);
}
if( getininum($inifile, $domain, "oauth") >= 1 ) {
#n = dllfunc("SetAccountProp", "fOAuth", 1);
}
if( getininum($inifile, $domain, "popbeforesmtp") >= 1 ) {
#n = dllfunc("SetAccountProp", "fPopBeforeSmtp", 1);
} else {
#n = dllfunc("SetAccountProp", "fESMTP", 1); //SMTP-AUTHをON
}
#n = dllfunc("SetAccountProp", "fSaveOnServer", 1); //受信した
メールをサーバー上に残す
#n = dllfunc("SetAccountProp", "cSaveOnServerDate", 5); //残す期間 =
5日
#n = dllfunc("SaveAccountProp");
#n = dllfunc("SelectFolder", $account, "");
message "アカウント毎設定を自動設定しました。ご自身のお名前やメールパス
ワードなどはご自身で設定してください。IMAPの場合は「メールサーバー・POP3/IMA
P4」のページでモードの指定なども必要になります。";
//#n = dllfunc("Bypass_PostMessage", hidemaruhandle(0), 0x111, 40023);
|
|