【GAS】迷惑メールを一斉送信する方法【スプレッドシート】
ふと、迷惑メールを自動で送りたいと思うことありますよね。
実はスプレッドシートがあれば簡単に送ることができるんです。
0.はじめに
まずはGoogleアカウントを作ってGmailも使えるようにしましょう。
いまどきGmail持ってない人も少ないと思うので詳細は割愛します。
1.メールの内容の作成
新しくスプレッドシートを作成し、次のようにメールの内容書いていきます。
左から
【件名、文章、送信名(送信者に表示される名前)】とします。
シート名はわかりやすく「メール内容」にしましょう。ぶっちゃけ、何でもいいですがあとで指定しますので統一するようにしてください。
メールはなるべく多く作って受信者が飽きないように心がけましょう、。
2.送信先アドレスの作成
別のシートに送信先のアドレスを用意します。
一行目をカラム名にして二行目から入力してください。
こちらもシート名は何でもいいです。
送信先アドレスは会社の上司や学校でイキってるやつとかヘイトの集まる人のアドレスを使いましょう。迷惑のかからない範囲で楽しみましょう。
3.GASでプログラム
Google Apps Scriptを使うためにスクリプトエディタを起動しましょう。 [拡張機能]>[Apps Script]で起動できます。 開けたらエディタ画面に下記のコードを貼り付け。
function sendMail(){ let address = getMailAddress() let i = 0 while(i<address.length){ //送信先のメールアドレス let recipient =address[i][0] //送信内容の抽選 let values = randomvalues() //件名 let subject = values[0] //本文 let body = values[1] //option nameは送信名 let options = { from: '送信元メールアドレス', name: values[2] } GmailApp.sendEmail(recipient, subject, body, options); i++ } } //メールの中からランダムに選ぶ function randomvalues(){ let values = getMailBody() //メールの0からメールの件数未満の数からランダムに一つを取得 let num = Math.floor(Math.random()*values.length) return values[num] } //送信するメールの内容を取得する function getMailBody() { let sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('メール内容')//シート名を指定 let range = sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn()) let values = range.getValues() return values } //送信先のメールアドレスを取得する function getMailAddress() { let sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('送信アドレス')//シート名を指定 let range = sh.getRange(2,1,sh.getLastRow()-1,1) let values = range.getValues() return values }
貼り付けられたら、
Ctrl+S、Ctrl+Rで保存して実行
最初は権限の許可が必要なのでポップアップ画面の指示に従ってください。
実行できたらGmailを開いて実際に送信できてるか確認してみてください。
4.トリガーの設定
あとは、これを一日に何回か自動で送信したいですよね?
エディタ画面、左側の時計ボタンをクリックすると自動起動の設定ができます。
トリガーを追加するを押して、トリガーの設定をしましょう。
実行する関数:sendMail イベントのソース:時間主導型 にすると決まった時間の感覚で実行してくれます。
一日に送りすぎるとAPIの制限がかかってしまうので送る量に応じて調節してください。
以上で迷惑メールの一斉送信ができるようになりました。
5.終わりに
無料のGアカウントでは一日100通しか自動送信することができません。 ※有料のWorkspaceでは1500通送ることができますが、会社のコンプライアンスにかかわるのでやめておきましょう。
一日に何万件のメールを送りたい人は別の方法を探してね。 本気でスパムメール業者になろうとしている人はこんな記事読まないとは思いますが。
野々はなについての考察
HUGっとプリキュアの最終回を迎えた。ネタバレを含むので嫌な方は最終回を見てから読んでほしい。
Bパートでは2030年の各々のキャラの姿が描かれていて、ずっと見てきたファンにとってはボーナス回のようであったが、触れられなかったことも多い。
はなの子供は金髪でまるでハグたんのような姿であった。名前もハグミとつけられていた。はなの髪はピンク色でハグミの髪はハグたんと同じ金髪である。ここから私は、はなの夫を推測していこうとした。。。
しかしこのアニメの世界では髪の色が多様すぎる。野々家の髪の色をみても誰も同じ色をしていない。夫が若宮アンリ説やほまれの卵子でできた受精卵を取り込み代理出産をしたという可能性はかなり低くなった。
おそらく胎児での段階で髪の色がカスタムできるまでの技術が確立したのだろう。そう考えるしかない。つまり、ジョージクライが夫という可能性もゼロではなくなった。
そして、はなの出産した子供はハグたんなのか、似た全く別の子供なのか。別人説はすぐに説明ができてしまうので同一人物説で話を進めていく。
ハグたんが同一人物説の場合、最終回で一瞬写ったハリーとハグたん(成長後)が住む未来は2043年あたりになる。
私は2045年問題に着目した。詳細は調べてほしいのだが、端的にいうとAIが人間を凌駕するのがその年に起こるとされる予測である。クライアス社のジョージクライは人間がAIに支配される未来を止めるために時間を止めることを選んだのではないか。
もし、ジョージクライがはなの夫でハグミが子供だとしたらハグミとはなは反対しただろう。
ハリーが戻った未来の世界線では、2018年のはなたちはプリキュアになることもなくハグたんやクライアス社がやってくることもなかった。2030年にはジョージクライとはなの子供のハグたんが生まれる。ジョージクライ2045年問題を危惧し、時を止めようとする。おそらくその世界の社会では時を止めることないしは、AI等の科学技術の進歩の停止などが多数派になっており、野々はなは科学技術の進歩を止めるべきではないという主張をしていたと推測できる。
ジョージクライ対キュアエールのタイマンのときにジョージクライが放った言葉を説明するには、はなが未来の世界で異端的存在であったこと、はなは世界を変えるために活動をしていたこと等の説明をしなければならないが先程の仮説では2つとも説明はできるはずだ。
異端的存在とされた野々はなは排除される。(反社会運動の首謀者として逮捕などが現実的)
未来ではクライアス社とプリキュアであるハグたんは戦闘状態にあり、プリキュアが劣勢であった。最終回で他のプリキュアが登場しないことから他のプリキュアはすでに排除されており、トゲパワワに侵されている。最終回で未来に戻ったあともハリーたちには世界を変えることが任務としてのこり戦っている状態であると考えられる。クライアス社が解体されているためプリキュアが一人でも可能であるはず。
現在(2018年)に来たジョージクライは野々はなが排除された未来に絶望し、現在のまま時を止めてしまおうとして47話のようになった。
AIが人間を凌駕するという設定は突発的に思いついたものではなく、フレッシュプリキュアの世界でも使われていた設定であることからも当てはめることができる設定なのではないかと思う。詳しくはフレッシュを見てくれ。AIに寿命が決められる世界でイースの寿命が来てキュアパッションが生まれるとかそういうやつや。完全に技術的特異点より未来の世界。
矛盾とかあったら指摘してくれると嬉しいです。感想等は@yukisiro_white まで
プリキュアオタクの雑な文
Go!プリンセスプリキュアの略し方の姫プリがプリキュアシリーズの中で一番気に入ってない。Goプリ(ゴープリ)一択だろって思うんだけどまだ姫プリって言ってる人がいて驚き。
そもそもなんで略すときにプリキュアのプリを後ろにつけるのか
初代のことをふたプリなんて呼ばないだろ
姫プリの略し方に当てはめるとスマイルプリキュアは笑顔プリになるしおかしい
デュエマ版BO3、サイドボードルール
CSによく参加するプレイヤーからは「デュエマおもんない」「ザコでも上ブレすれば勝てる環境だから」とかよく聞きます。なのでこんなルールを提唱したい。
題して、 40+40枚超変形デッキデュエマ!
マッチ形式2ゲーム先取(3ゲーム先取にも応用可能)
まずデッキリストに
1ゲーム目に使うデッキ40枚+超次元8枚を記入する。(ここまではデュエマ)ドルマゲを使うかどうかを記入する。
2ゲーム目3ゲーム目開始前に入れ替えることのできるサイドボード40枚+サイド超次元8枚を記入する。
2ゲーム目以降はドルマゲを使うかどうかを変更することができる。
例えば
1ゲーム目に使うデッキ
- フェアリーライフ×4
- ピクシーライフ×4
- フェアリーの火の子祭×4
- フェアリークリスタル×4
- フェアリーミラクル×4
- フェアリーパワー×4
- フェアリーシャワー×4
- ウォーターフェアリー×4
- ダンシングフェアリー×4
1ゲーム目に使う超次元
- 勝利のプリンプリン×4
- 時空の踊り子マティーニ×4
ドルマゲを使う
サイドボード
- 禁断Cタイフン×4
- 禁断Cトリグ×4
- 禁断Uトルーパ×4
- 禁断Cマーモ×4
- 禁断Uミテトル×4
- 禁断Vデカルパ×4
- 禁断の影〜ドキンダムソウル〜×4
- 禁断〜封印されしX〜×1
- 禁断×3
サイド超次元
- 銀河大剣ガイハート×4
- 将龍剣ガイアール×4
でデッキ登録をするとしよう、、、、
1ゲーム目は登録したデッキ超次元でいつものデュエマをする
2ゲーム目は登録したサイドボードとサイド超次元をまるごと入れ替えても可。部分的に入れ替えても可。
例えば、
2戦目に実際使うデッキが
- 禁断Cタイフン×4
- フェアリーライフ×4
- 禁断Cトリグ×1
- ピクシーライフ×4
- 禁断Uトルーパ×2
- フェアリーの火の子祭×4
- 禁断Vデカルパ×4
- フェアリークリスタル×2
- フェアリーミラクル×2
- 禁断の影〜ドキンダムソウル〜×2
- 禁断〜封印されしX〜×1
- 禁断×2
ドルマゲ使いません
超次元
- 銀河大剣ガイハート×2
- 勝利のプリンプリン×2
- 時空の踊り子マティーニ×3
- 将龍剣ガイアール×1
でもOK
ただし合計80枚の中に同名カードは4枚まで。超次元も同様(何枚でもOKなカードは除く)
サイドボードは必ず40枚なくてもOK。無しでも参加できる。
ダラダラとルールを書いてきたけど、結局このルールは何を目的にしているのかというと
1ゲーム先取ばかりのデュエマがつまらないため、デュエマでもハースストーンやシャドウバースで流行っている大会ルールのBO3がしたいけどゲームの性質上そのまま導入できないので作ってみました。
※なぜ単純なBO3ができないか。
デジタルカードゲームのシステムの殆どがリーダーごとに使えるカードが違うから。デュエマで2デッキ登録してBO3をすると同じリストのモルネクを2つ用意するだけが多発したり、登録するデッキには共通してる同名カードは4枚までって言うルールを作ると構築難易度が上がって敷居が高くなったりするのを懸念したため。
※なぜ単純なサイドボード40枚+10〜15枚じゃないか
子供にどうやって教えれば良いのかわからない。サイドボード文化がないデュエマでは大人でも適応できるプレイヤーが少ないと予想できるため定着するとは思えない。
このルールの利点
- 単純に2つデッキを持ってそのまま参加できるため敷居が低い。
- 共通パーツのところはスロットが空くため入れ替え候補のカードを入れられる。
- 1ゲーム目に使ったデッキの調子がいいときはサイドなんか使わなくてもいい。
- 調子に乗ったデッキを対策したサイドボ&ードでぶっ倒せる。
あとがき、明日からでも遊べるルールだと思うので是非試してほしい。
DMGP4thに参加しました。
僕はデュエマの認定ジャッジでDMGP2nd,3rdをジャッジとして参加し、今回の4thもジャッジとして参加させてもらいました。今回はジャッジのチームをまとめるリーダーで(参加者から見たらどれも同じジャッジに見えますが)少し仕事も多く大変でした。当日は予定より一時間も早く終わって特にトラブルもなく(紛失、盗難等はあったらしいけど)終われてよかったなと思います。
今後の活動について、
5/20、埼玉CSin柏バトロコhttp://www.izazin.com/taikai/00412818
にてヘッドジャッジをすることになりました。主宰のどろさんの好意で参加でき、とてもありがたいことだとだと思っております。
今後も活動を拡大するに連れてジャッジとして他のイベントにも声をかけてもらえるように努力して行きたいと思います。
7/8 超CS、熊本
10/14 GP5th、京都