完全自動でYahooフリーメールをすぐに作成できます。
やり方は簡単です。ブラウザ作業を自動化できるツールiMacros(無料)にコードをコピペして動かすだけです。
手作業で作成するより、自動化した方が無駄な時間を使わなくてよくなります。
ノーノちゃん
テイくん
このページの目次
1. 必ず最初にお読みください
以前はメールアドレスで新規登録出来ていましたが、yahoo側の仕様変更があり電話番号(SMS認証)が必須になりました。そのため連続して作成ができなくなりました。
携帯電話番号をお持ちでない場合のお手続き
Yahoo! JAPAN IDの登録は、携帯電話番号を利用した方法に一本化しました。
これにより、「携帯電話番号をお持ちでない場合のお手続き」を停止させていただきました。
参照元:Yahoo! JAPAN IDに関するヘルプ
また解決した場合はサイトとTwitterにてご報告さして頂きます。プログラムに関しては、もちろん動作しませんがiMacros勉強者の方向けにそのままにしています。
以前はメルアドぽいぽいの捨てアドで、yahooメールを取得していましたがこの方法は使えなくなりました。
そのためGmail(エアリアス)を使う方法に変更しました。
例えばsample@gmail.comのアドレスでエアリアスを使うと以下のように何個でも増やせます。
・sample+123@gmail.com
・sample+abc@gmail.com
・sample+123abc@gmail.com
現在の所エアリアスで新規登録可能ですが今後NGになる可能性があります。
それ以上取得したい場合はIPアドレス変更+キャッシュ削除が必要です。
※作成画面の変更やセキュリティーが強化されたことにより過去に3回動かなくなりました。
2. 動作環境について
ツールを使うためにソフトをダウンロード(追加)する必要があります。
- iMacros 旧バージョン(8.9.7)
最新版はJavaScriptが使用できないので旧バージョンが必要です。詳しく知りたい方は「iMacros:無料版と有料版の違いを解説」でご確認ください。 - Firefox 52.9.0ESR
- SmoothCSV2
取得したファイルをEXCELで開くと文字化けを起こすため必要です。
上記の導入方法はこちらで説明しています(設定時間は約5分)
iMacrosに必要なFirefox、SmoothCSVの導入方法と初期設定(保存版)【PART.1】
3. 更新履歴
修正や機能追加はこちらに記載しています。
- 「メルアドぽいぽい」の捨てアドが使えなくなったのでgmailに変更
※メルアドぽいぽいのドメイン自体をyahoo側がブロックしたため - 複数の条件分岐する必要があるためiimからjsに変更
- 途中で止まってしまう不具合を解消。(yahoo側が登録画面を変更したため)
- バージョン情報を記載
- コメントアウトなしバージョンを削除
- CSVファイル使用版削除(2種類の取得方法があると分かりにくいため)
- 途中で止まってしまう不具合を解消。(yahoo側が登録画面を変更したため)
4. マクロの設置方法
マクロの中身をコピーして貼り付け、ファイル名を「yahoo-mail.js」に変更するだけで動きます。
マクロ設置がはじめての方はこちらからどうぞ
【超初心者向け】2通りのマクロ設置方法を解説
5. マクロの中身
/*
Macro Name: yahoo-mail.js
Macro URI: https://teilab.net/imacros-yahoo-mail/
Author: teilab(テイくん)
Version: 2.1
*/
// -------------------------------------------------
// Datasources内に「Yahooメールアドレス」フォルダを作成
// -------------------------------------------------
var foldername = "Yahooメールアドレス";
imns.FIO.makeDirectory(imns.Pref.getFilePref('defdatapath').path+"\\"+foldername);
// -------------------------------------------------
// 任意の数のメールアドレスを取得する処理
// -------------------------------------------------
var num = prompt("10個以内で取得したい数を入力してください!\n\n");
if (num === null){ // 何も入ってない空の状態(キャンセルを押した場合)
iimClose();
} else if (num === ""){ // 値がない場合
alert("数値は必須事項です!");
iimClose();
} else if (isNaN(num) || !(num >= 1 && num <= 10)){ // 数字(1~10)以外の場合
alert("1~10までの数値(半角)を入力してください!");
iimClose();
}
// -------------------------------------------------
// GmailIDとURLを取得【Gmail】
// -------------------------------------------------
var macro = "CODE:";
macro += "SET !REPLAYSPEED FAST" + "\n";
macro += "TAB CLOSEALLOTHERS" + "\n"; //後で新規タブを開くためこれがないとエラーが起きる
macro += "SET !ERRORIGNORE YES" + "\n";
macro += "SET !EXTRACT_TEST_POPUP NO" + "\n";
macro += "URL GOTO=https://mail.google.com/mail/u/0/h/1rytoyd9bz04l/" + "\n"; // 簡易HTML版にアクセスする必要あり。新バージョンの管理画面はF旧irefoxのため固まることがあるので不可
macro += "SET !TIMEOUT_STEP 1" + "\n"; // 遅延対策
macro += "TAG POS=1 TYPE=B ATTR=TXT:*@gmail.com EXTRACT=TXT" + "\n"; // メルアド取得
macro += "SET gmailId EVAL(\"'{{!EXTRACT}}'.replace(/(.*)@.*/,'$1');\")" + "\n"; //ID(アカウント名)のみ必要なので@gmail.comは削除
macro += "SET !EXTRACT NULL" + "\n";
macro += "ADD !EXTRACT {{!URLCURRENT}}" + "\n"; // URL取得 ログイン状態確認に使用
macro += "ADD !EXTRACT {{gmailId}}" + "\n"; // ID取得
iimPlay(macro);
var gmailUrl = iimGetExtract(1);
var gmailId = iimGetExtract(2);
if (gmailUrl.search(/(Login|about)/) != -1){ // URLにLoginかaboutが含まれる場合はログイン状態でないと判断
var macro = "CODE:";
macro += "PROMPT Gmailにログイン後、再度お試しください。<SP>" + "\n";
iimPlay(macro);
iimClose();
}
// -------------------------------------------------
// 繰り返し処理開始
// -------------------------------------------------
for (var loop = 1; ; loop++){
if (loop > num){
// -------------------------------------------------
// ユーザーが入力した数のメールアドレス取得
// -------------------------------------------------
var macro = "CODE:";
macro += "PROMPT メールアドレスの取得が完了しました。<BR><BR>ファイルの保存場所<BR>{{!FOLDER_DATASOURCE}}\\Yahooメールアドレス\\yahoo-mail.csv<SP><BR><BR>この後、自動でファイルが開きます!" + "\n";
macro += "URL GOTO=file:{{!FOLDER_DATASOURCE}}\\Yahooメールアドレス\\yahoo-mail.csv" + "\n";
iimPlay(macro);
iimClose();
} else {
// -------------------------------------------------
// メールアドレスを入力【Yahoo】
// -------------------------------------------------
var macro = "CODE:";
macro += "SET !REPLAYSPEED FAST" + "\n";
macro += "SET !ERRORIGNORE YES" + "\n";
macro += "URL GOTO=https://account.edit.yahoo.co.jp/signup?default_mode=mail" + "\n"; // メールアドレスでID登録にアクセス
macro += "SET alias EVAL(\"var str= 'abcdefghijklmnopqrstuvwxyz'; var string = ''; for(var i = 0; i < 10; i++){string += str[parseInt(Math.random() * 25)]}; string\")" + "\n"; // ランダムな文字を取得
macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:theForm ATTR=ID:mail CONTENT="+gmailId+"+{{alias}}@gmail.com" + "\n"; // エアリアスを追加したgmailを入力
macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:theForm ATTR=ID:mail EXTRACT=TXT" + "\n"; // エアリアスを追加したgmailを抜き出す
macro += "SET gmail {{!EXTRACT}}" + "\n";
macro += "SET !EXTRACT NULL" + "\n";
macro += "TAG POS=1 TYPE=A ATTR=ID:btnSendCode" + "\n"; // 「次へ」をクリック
// -------------------------------------------------
// 確認コードを取得【Gmail】
// -------------------------------------------------
macro += "TAB OPEN" + "\n";
macro += "TAB T=2" + "\n";
macro += "URL GOTO=https://mail.google.com/mail/u/0/h/1rytoyd9bz04l" + "\n";
macro += "WAIT SECONDS=3" + "\n"; //メールが来ていない場合があるので待機時間入れる
macro += "TAG POS=1 TYPE=SPAN ATTR=TXT:*画面の確認コード*" + "\n"; // 新着を確認しないと2回目以降、前の確認コードを取得してしまうので必須
macro += "URL GOTO=https://mail.google.com/mail/u/0/h/1rytoyd9bz04l/" + "\n";
macro += "TAG POS=1 TYPE=FONT ATTR=TXT:*画面の確認コード* EXTRACT=TXT" + "\n"; // メッセージ内から取得するとミスが起きるのでTOPからを採用
macro += "SET code EVAL(\"'{{!EXTRACT}}'.replace(/\\s-\\s(\\d{4,}) 画面の確認コード.*/,'$1');\")" + "\n"; // 確認コード以外を削除
macro += "SET !EXTRACT NULL" + "\n";
macro += "TAB CLOSE" + "\n";
// -------------------------------------------------
// 新規メールアドレスを作成【Yahoo】
// -------------------------------------------------
macro += "TAG POS=1 TYPE=INPUT:TEL FORM=ID:theForm ATTR=ID:code CONTENT={{code}}" + "\n"; // 確認コードにcodeを入力
macro += "TAG POS=1 TYPE=A ATTR=ID:btnSubmit" + "\n"; // 「確認する」をクリック
// 性別をランダムで選ぶ
macro += "SET sex EVAL(\"var letters = ['男性','女性','その他','回答しない']; var string = ''; for(var i = 0; i < 1; i++){string += letters[parseInt(Math.random() * 4)]}; string\")" + "\n";
macro += "TAG POS=1 TYPE=LABEL ATTR=TXT:{{sex}}" + "\n";
// 生年月日をランダムで入力
macro += "SET year EVAL(\"var randomNumber=Math.floor(Math.random()*50+ 1950); randomNumber;\")" + "\n";
macro += "SET month EVAL(\"var letters = ['01','02','03','04','05','06','07','08','09','10','11','12']; var string = ''; for(var i = 0; i < 1; i++){string += letters[parseInt(Math.random() * 12)]}; string\")" + "\n";
macro += "SET day EVAL(\"var letters = ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28']; var string = ''; for(var i = 0; i < 1; i++){string += letters[parseInt(Math.random() * 28)]}; string\")" + "\n";
macro += "TAG POS=1 TYPE=INPUT:hidden FORM=ID:theForm ATTR=ID:birthday_value CONTENT={{year}}{{month}}{{day}}" + "\n";
// 郵便番号をランダムで入力
macro += "SET postCode EVAL(\"var letters = ['0640941','0640824','0600819','9820822','9813137','9860854','9862101','9880171','9880309','3001156','3001606','2670064','2880005','2730022','5170205','6040996','6040984','5720038','5720841','5720863','8381507','8380065','8350136','8191142','8610526','8610531','8700164','8700145']; var string = ''; for(var i = 0; i < 1; i++){string += letters[parseInt(Math.random() * 28)]}; string\")" + "\n";
macro += "TAG POS=1 TYPE=INPUT:TEL FORM=ID:theForm ATTR=ID:postCode CONTENT={{postCode}}" + "\n";
// 名前をランダム入力
macro += "SET lastName EVAL(\"var letters = ['佐藤','鈴木','高橋','田中','伊藤','渡辺','山本','中村','小林','加藤','吉田','山田','佐々木','山口','松本','井上','木村','林','斎藤','清水','山崎','森','池田','橋本','阿部','石川','山下','中島','石井','小川']; var string = ''; for(var i = 0; i < 1; i++){string += letters[parseInt(Math.random() * 30)]}; string\")" + "\n";
macro += "SET firstName EVAL(\"var letters = ['翔太','翔','健太','大輝','陸','拓海','大地','大樹','翼','明日香','美咲','七海','翼','彩','愛','楓','拓也','達也','雄太','翔平','亮','健太郎','大輔','和也','竜也','美穂','成美','沙織','麻衣','舞']; var string = ''; for(var i = 0; i < 1; i++){string += letters[parseInt(Math.random() * 30)]}; string\")" + "\n";
macro += "TAG POS=1 TYPE=INPUT:TEXT FORM=ID:theForm ATTR=ID:dispname CONTENT={{lastName}}<SP>{{firstName}}" + "\n";
// お知らせメール希望しない
macro += "TAG POS=1 TYPE=INPUT:CHECKBOX FORM=ID:theForm ATTR=ID:deliver CONTENT=NO" + "\n";
// 登録作業
macro += "TAG POS=1 TYPE=BUTTON FORM=ID:theForm ATTR=ID:btnSubmit" + "\n"; // 「登録する」をクリック
macro += "TAG POS=1 TYPE=BUTTON FORM=NAME:skip ATTR=ID:skip" + "\n"; // 「同意しないで先に進む」をクリック
macro += "TAG POS=1 TYPE=DIV ATTR=CLASS:mail EXTRACT=TXT" + "\n";
macro += "SET yahooMail {{!EXTRACT}}" + "\n";
macro += "SET !EXTRACT NULL" + "\n";
macro += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:theForm ATTR=ID:btnSubmit" + "\n"; // 「次へ」をクリック
macro += "TAG POS=2 TYPE=SPAN ATTR=TXT:メール" + "\n"; // 「メール」をクリック
macro += "TAG POS=1 TYPE=SPAN ATTR=TXT:Yahoo!メールの利用はこちら*" + "\n"; // 「Yahoo!メールの利用はこちら」をクリック
// パスワードログインに設定変更
macro += "WAIT SECONDS=1" + "\n";
macro += "URL GOTO=https://account.edit.yahoo.co.jp/suppreg" + "\n";
// パスワードをランダムに入力
macro += "SET passA EVAL(\"var str = 'abcdefghijklmnopqrstuvwxyz'; var string = ''; for(var i = 0; i < 6; i++){string += str[parseInt(Math.random() * 20)]}; string\")" + "\n";
macro += "SET passB EVAL(\"var letters = ['!','#','%','&','(',')','=','@','-','+']; var string = ''; for(var i = 0; i < 3; i++){string += letters[parseInt(Math.random() * 9)]}; string\")" + "\n";
macro += "SET passC EVAL(\"var randomNumber=Math.floor(Math.random()*777 + 1); randomNumber;\")" + "\n";
macro += "SET !ENCRYPTION NO" + "\n";
macro += "TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:theform ATTR=ID:passwd CONTENT={{passA}}{{passB}}{{passC}}" + "\n";
macro += "TAG POS=1 TYPE=BUTTON FORM=NAME:theform ATTR=ID:commit" + "\n"; // 「追記して次へ」をクリック
// 記入した情報をEXTRACTに保存
macro += "ADD !EXTRACT {{sex}}" + "\n"; // 性別
macro += "ADD !EXTRACT {{year}}/{{month}}/{{day}}" + "\n"; // 生年月日
macro += "ADD !EXTRACT {{postCode}}" + "\n"; // 郵便番号
macro += "ADD !EXTRACT {{lastName}}<SP>{{firstName}}" + "\n"; // 名前
macro += "ADD !EXTRACT {{gmail}}" + "\n"; // gmailアドレス(エアリアスあり)
macro += "ADD !EXTRACT {{yahooMail}}" + "\n"; // yahooメールアドレス
macro += "ADD !EXTRACT {{passA}}{{passB}}{{passC}}" + "\n"; // パスワード
// EXTRACTデータを全てDATASOURCEフォルダに保存 デフォルトのDownloadsフォルダに保存すると終了時自動で開けない(Firefox v10以降のみ可のため)
macro += "SAVEAS TYPE=EXTRACT FOLDER={{!FOLDER_DATASOURCE}}\\Yahooメールアドレス FILE=yahoo-mail.csv" + "\n";
iimPlay(macro);
}
}
もしもiMacrosを1から勉強してみたい初心者の方はこちら
ブラウザ上の作業を全て自動化できるiMacrosとは?【PART.0】
以下の流れでYahooメールを自動作成しています。
※複数メールアドレスを管理する時は、パスワードログインの方が楽なため
分からないコマンドがあった場合はこちらで確認しましょう。
iMacros:コマンド一覧と使い方(大量のサンプルマクロあり)【PART.10】
6. マクロの使い方
※動画は約2分です。
ただ、EXCELで開くと文字化けを起こす可能性があるのでSmoothCSVで開きましょう。
7. よくある質問
yahoo側のセキュリティが「IPアドレス」をブロックしている可能性があります。
解決方法は、IPアドレスを変更してキャッシュやCookieを削除するか、次の日まで待つと解消されます。
連続して10個以上メールアドレスを作成した場合に表示されるエラーです。
解決方法は、IPアドレスを変更してキャッシュやCookieを削除するか、次の日まで待つと解消されます。
最新バージョンのimacros(無料版)は最大50行までしか使えませんとエラーが表示されています。
解決方法は「2. 動作使用環境について」の項目を再度ご確認して頂ければと思います。
文字コードの関係上、EXCELで開くと文字化けを起こします。
解決方法はSmoothCSV2(CSV専用ソフト)で開くと解消されます。
基本的に電源を切って数分すればIPが切り替わりますが、ケーブルテレビ系、au光はほとんど切り替わりません。
固定のインターネット回線で、もしIPが切り替わらない場合は携帯のテザリングを使う方法がいいかと思います。
※キャリアや住んでいる地域によって違うので、すぐ切替わるか分かりません。
8. まとめ
完全自動でYahooのフリーメールアドレスを取得する方法をご紹介しました。
iMacrosを使えば、無料ブログ登録、メルマガ、捨てアド用など必要な時にすぐに作成できるので凄く便利です。
- ワンクリックでYahooメールを自動作成
- 最新バージョンのiMacrosは使用不可
- iMacrosのバージョンをダウングレードする必要あり
メールアドレス取得以外に、ブラウザ上のどんな作業でもiMacrosを使えば自動化することができます。
もし使って見たい方は、基礎から学ぶ『iMacros』を順番に読んで頂ければと思います。
※合計11ページあります。
基礎から勉強したい方はこちら
ブラウザ上の作業を全て自動化できるiMacrosとは?【PART.0】