例えばWEBフォームからの申し込みがあるとき、申込一覧を作成したいときなどです
メールが数件なら、目で見ながらEXCELに転記すればいいですが、数が多くなると大変です。

通常は、google form,microsoft formsなどを使って申し込みフォームを作成すれば、結果はスプレッドシートやexcelに自動で取り込めます。
しかし、無料のホームページなどで申し込みを作ると、申し込みは指定されたメールアドレスに送られます。
自動処理はできないですね。

さあ、ちょっとしたプログラミングや工夫で解決できます

pythonでプログラミングをしてみます。

 

windowsではストアからpythonをダウンロードできます


■ステップ1 ホームページ
jimdoでホームページを作り、申込フォームを作成します
メールアドレスはgmailとします
申し込みはgmailに送られます

■ステップ2 GMAILをダウンロード
gmailを開いて、該当のメールをすべて選択します
新規メールを作成、あて先は自分
選択したメールを本文にドロップ
表題を設定して送信
受信したメールを開いて、右クリック
メッセージをダウンロード、名前はtest.emlにします

■ステップ3 pythonプログラム作成
ひな形のプログラムで、抽出する項目を設定します

項目は「項目名:情報」の形式で保存されているとします

ここで項目は「お名前name、電話tel、住所address、email」とします

適時黒字部分を修正してください
#-----------------------------------------
     if (u"お名前name" in str(line)):
       name=check(u"お名前name",line)
       print(name)
       n=n+1
     if (u"電話tel" in str(line)):
       tel=check(u"電話tel",line)
       n=n+1
     if (u"住所address" in str(line)):
       address=check(u"住所address",line)
       n=n+1
     if (u"email" in str(line)):
       email=check(u"email",line)
       n=n+1

     if n==4:
       output(f"{name},{email},{address},{tel}\n")
       n=0
       name=""
       email=""
       address=""
       tel=""
#-----------------------------------------

■ステップ4 実行

フォルダーを作り、test.emlとpythonプログラムを入れます。

アドレス欄に「cmd」と入力して、コマンドプロンプトを開きます

 

コマンドプロンプト画面に「python Getdatafromemail.py」と入力してpythonプログラムを実行します
output.csv に抽出された情報が出力されます

クリックするとexcelが開きます


ちょっとしたプログラミングができると、便利なことが増えます

 

 

# coding: utf-8
import imaplib 
import email
import base64
import quopri
import glob

def output(w):
  f = open("output.csv","a")
  f.writelines(w)
  f.close()
def check(s,d):
  if s in d:
    w=d.split(":")
    return w[1]
  return ""

filelist=glob.glob("test.eml")
for t in filelist:
  w=""
  flg=False
  name=""
  email=""
  address=""
  tel=""
  f = open(t, 'r',encoding='iso2022_jp')
  n=0
  for l in f:
     line=l.rstrip('\n')
#-----------------------------------------
     if (u"お名前name" in str(line)):
       name=check(u"お名前name",line)
       print(name)
       n=n+1
     if (u"電話tel" in str(line)):
       tel=check(u"電話tel",line)
       n=n+1
     if (u"住所address" in str(line)):
       address=check(u"住所address",line)
       n=n+1
     if (u"email" in str(line)):
       email=check(u"email",line)
       n=n+1

     if n==4:
       output(f"{name},{email},{address},{tel}\n")
       n=0
       name=""
       email=""
       address=""
       tel=""
#-----------------------------------------

  f.close()