WiX가 보낸 HTML 메일을 읽습니다.
참고 페이지
· Python3에서 이메일 송수신 (이번 소스 기반)
· 파이썬으로 HTML 분석
이번 테마
WiX가 제출한 양식 데이터(HTML 메일)를 읽습니다.
나중에 db 등록하기 위해서는 이 가공이 필요.
WiX란?
온라인으로 웹사이트를 만들 수 있는 사람 입니다. 최근까지 몰랐지만 의뢰를 청해서 알았다. 기업 사이트 등의 "독특한 가장자리는 필요 없기 때문에 확고한 좋은 느낌의 녀석이되는 빨리!"같은 사이트에는 좋을지도 모른다.
이런 메일이 보내집니다.
(히키...!)
※ 젠장! 만들었지만 문자 화할 수 있습니다!
게다가 「=E5=B2=A1=E7=94=B0」로 그대로 구그하면, 속에 써 있는 것 같은 것이 검색 가능...(웃음)
여기까지 왔는데 ... 누군가 도와주세요 ...
MailFile.txt[9] =E5=B2=A1=E7=94=B0
[15] =E3=82=B9=E3=82=BF=E3=82=A4=E3=83=AB=E3=83=97=E3=83=A9=E3=82=B9
(...以下省略)
※QPRINT라는 문자 코드다운
여기에서 텍토에 조합하면 괜찮은 상태로 할 수 있었다.
이것을 변환할 수 있으면 좋겠지만....
※Gmail 보안
프로그램을 실행하고 로그인 할 수 없어! 같은 오류가 발생하면
"2단계 인증을 초기 설정한 후 끄기". 의뢰되어, 메일 주소가 이미 정해져 있는 경우 등에, 그 메일 주소의 2단계 인증 프로세스의 초기 설정이 끝나지 않을 가능성이 있다.
· 2단계 인증 프로세스 사용
이쪽도 유효하지 않으면 안 된다(설정 변경 후, 3분 정도 필요)
◎ 이것인가?
StackOverflow을 읽고 "quopri.decodestring()"을 알고,
공식 문서
블로그 를 읽고 "UTF-8 bytes에서 str"을 알았다.
(스마트에 쓰고 있지만 상당히 오갔다)
출처
Gmail.pyimport os,imaplib,quopri
from bs4 import BeautifulSoup
LOGIN_UID = "****@gmail.com"
LOGIN_PWD = "****"
def GetGmailMessage(fromaddress):
#コネクションの確立
gmail = imaplib.IMAP4_SSL("imap.gmail.com")
#ログイン
gmail.login(LOGIN_UID, LOGIN_PWD)
#メールボックス名を「inbox」に指定(※標準がinboxなので省略可能)
gmail.select("inbox")
#すべてのメールをたぐって、特定の送信先のメールをresに返す
res = gmail.search(None, "(ALL HEADER FROM {})".format(fromaddress))
#「res」をもう少し掘ったところにメールの集団があるのでそれを取得
mails = res[1][0].split()
#メッセージ数が0だった場合は処理終了
if len(mails)==0:
return()
#とりあえずデスクトップに「MailFile.log」というテキストを作成してうまく取れるか検証する
f = open("MailFile.log","w")
#各メールに対する処理
for mail in mails:
data = gmail.fetch(mail, '(RFC822)')[1][0][1]
soup = BeautifulSoup(data, "lxml")
for i,td in enumerate(soup.find_all("td")):
if td.string != None:
f.write("[" + str(i) + "] " + quopri.decodestring(td.string).decode('utf-8') + "\n")
f.write("\n")
#あとかたづけ
f.close()
return()
if __name__ == '__main__':
#「MailFile.txt」というテキストを作成する場所
os.chdir(r"C:\Users\Yoshitaka\Desktop")
#Gmailを受信(引数:どこからのメールを?)
GetGmailMessage(fromaddress = "****@powr.io")
다음은?
SQLServer에의 INSERT는 「 Python 환경 구축 및 DB에 대한 SQL 실행 예제 노트 2016 Python이 Insert하고 곧 최신 데이터로 Read하고 Pandas에서 Excel로 토하는 것이 좋다고 생각한다. 그렇게 하면 그 앞의 배포로 Windows에 가자 Mac(Mac의 VBA는 가타가타에서 사용하는 것이 되지 않는다)에 가자 괜찮다.
Reference
이 문제에 관하여(WiX가 보낸 HTML 메일을 읽습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/YoshitakaOkada/items/d10e69cc8ed06d7783b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
WiX가 제출한 양식 데이터(HTML 메일)를 읽습니다.
나중에 db 등록하기 위해서는 이 가공이 필요.
WiX란?
온라인으로 웹사이트를 만들 수 있는 사람 입니다. 최근까지 몰랐지만 의뢰를 청해서 알았다. 기업 사이트 등의 "독특한 가장자리는 필요 없기 때문에 확고한 좋은 느낌의 녀석이되는 빨리!"같은 사이트에는 좋을지도 모른다.
이런 메일이 보내집니다.
(히키...!)
※ 젠장! 만들었지만 문자 화할 수 있습니다!
게다가 「=E5=B2=A1=E7=94=B0」로 그대로 구그하면, 속에 써 있는 것 같은 것이 검색 가능...(웃음)
여기까지 왔는데 ... 누군가 도와주세요 ...
MailFile.txt[9] =E5=B2=A1=E7=94=B0
[15] =E3=82=B9=E3=82=BF=E3=82=A4=E3=83=AB=E3=83=97=E3=83=A9=E3=82=B9
(...以下省略)
※QPRINT라는 문자 코드다운
여기에서 텍토에 조합하면 괜찮은 상태로 할 수 있었다.
이것을 변환할 수 있으면 좋겠지만....
※Gmail 보안
프로그램을 실행하고 로그인 할 수 없어! 같은 오류가 발생하면
"2단계 인증을 초기 설정한 후 끄기". 의뢰되어, 메일 주소가 이미 정해져 있는 경우 등에, 그 메일 주소의 2단계 인증 프로세스의 초기 설정이 끝나지 않을 가능성이 있다.
· 2단계 인증 프로세스 사용
이쪽도 유효하지 않으면 안 된다(설정 변경 후, 3분 정도 필요)
◎ 이것인가?
StackOverflow을 읽고 "quopri.decodestring()"을 알고,
공식 문서
블로그 를 읽고 "UTF-8 bytes에서 str"을 알았다.
(스마트에 쓰고 있지만 상당히 오갔다)
출처
Gmail.pyimport os,imaplib,quopri
from bs4 import BeautifulSoup
LOGIN_UID = "****@gmail.com"
LOGIN_PWD = "****"
def GetGmailMessage(fromaddress):
#コネクションの確立
gmail = imaplib.IMAP4_SSL("imap.gmail.com")
#ログイン
gmail.login(LOGIN_UID, LOGIN_PWD)
#メールボックス名を「inbox」に指定(※標準がinboxなので省略可能)
gmail.select("inbox")
#すべてのメールをたぐって、特定の送信先のメールをresに返す
res = gmail.search(None, "(ALL HEADER FROM {})".format(fromaddress))
#「res」をもう少し掘ったところにメールの集団があるのでそれを取得
mails = res[1][0].split()
#メッセージ数が0だった場合は処理終了
if len(mails)==0:
return()
#とりあえずデスクトップに「MailFile.log」というテキストを作成してうまく取れるか検証する
f = open("MailFile.log","w")
#各メールに対する処理
for mail in mails:
data = gmail.fetch(mail, '(RFC822)')[1][0][1]
soup = BeautifulSoup(data, "lxml")
for i,td in enumerate(soup.find_all("td")):
if td.string != None:
f.write("[" + str(i) + "] " + quopri.decodestring(td.string).decode('utf-8') + "\n")
f.write("\n")
#あとかたづけ
f.close()
return()
if __name__ == '__main__':
#「MailFile.txt」というテキストを作成する場所
os.chdir(r"C:\Users\Yoshitaka\Desktop")
#Gmailを受信(引数:どこからのメールを?)
GetGmailMessage(fromaddress = "****@powr.io")
다음은?
SQLServer에의 INSERT는 「 Python 환경 구축 및 DB에 대한 SQL 실행 예제 노트 2016 Python이 Insert하고 곧 최신 데이터로 Read하고 Pandas에서 Excel로 토하는 것이 좋다고 생각한다. 그렇게 하면 그 앞의 배포로 Windows에 가자 Mac(Mac의 VBA는 가타가타에서 사용하는 것이 되지 않는다)에 가자 괜찮다.
Reference
이 문제에 관하여(WiX가 보낸 HTML 메일을 읽습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/YoshitakaOkada/items/d10e69cc8ed06d7783b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
게다가 「=E5=B2=A1=E7=94=B0」로 그대로 구그하면, 속에 써 있는 것 같은 것이 검색 가능...(웃음)
여기까지 왔는데 ... 누군가 도와주세요 ...
MailFile.txt
[9] =E5=B2=A1=E7=94=B0
[15] =E3=82=B9=E3=82=BF=E3=82=A4=E3=83=AB=E3=83=97=E3=83=A9=E3=82=B9
(...以下省略)
※QPRINT라는 문자 코드다운
여기에서 텍토에 조합하면 괜찮은 상태로 할 수 있었다.
이것을 변환할 수 있으면 좋겠지만....
※Gmail 보안
프로그램을 실행하고 로그인 할 수 없어! 같은 오류가 발생하면
"2단계 인증을 초기 설정한 후 끄기". 의뢰되어, 메일 주소가 이미 정해져 있는 경우 등에, 그 메일 주소의 2단계 인증 프로세스의 초기 설정이 끝나지 않을 가능성이 있다.
· 2단계 인증 프로세스 사용
이쪽도 유효하지 않으면 안 된다(설정 변경 후, 3분 정도 필요)
◎ 이것인가?
StackOverflow을 읽고 "quopri.decodestring()"을 알고,
공식 문서
블로그 를 읽고 "UTF-8 bytes에서 str"을 알았다.
(스마트에 쓰고 있지만 상당히 오갔다)
출처
Gmail.pyimport os,imaplib,quopri
from bs4 import BeautifulSoup
LOGIN_UID = "****@gmail.com"
LOGIN_PWD = "****"
def GetGmailMessage(fromaddress):
#コネクションの確立
gmail = imaplib.IMAP4_SSL("imap.gmail.com")
#ログイン
gmail.login(LOGIN_UID, LOGIN_PWD)
#メールボックス名を「inbox」に指定(※標準がinboxなので省略可能)
gmail.select("inbox")
#すべてのメールをたぐって、特定の送信先のメールをresに返す
res = gmail.search(None, "(ALL HEADER FROM {})".format(fromaddress))
#「res」をもう少し掘ったところにメールの集団があるのでそれを取得
mails = res[1][0].split()
#メッセージ数が0だった場合は処理終了
if len(mails)==0:
return()
#とりあえずデスクトップに「MailFile.log」というテキストを作成してうまく取れるか検証する
f = open("MailFile.log","w")
#各メールに対する処理
for mail in mails:
data = gmail.fetch(mail, '(RFC822)')[1][0][1]
soup = BeautifulSoup(data, "lxml")
for i,td in enumerate(soup.find_all("td")):
if td.string != None:
f.write("[" + str(i) + "] " + quopri.decodestring(td.string).decode('utf-8') + "\n")
f.write("\n")
#あとかたづけ
f.close()
return()
if __name__ == '__main__':
#「MailFile.txt」というテキストを作成する場所
os.chdir(r"C:\Users\Yoshitaka\Desktop")
#Gmailを受信(引数:どこからのメールを?)
GetGmailMessage(fromaddress = "****@powr.io")
다음은?
SQLServer에의 INSERT는 「 Python 환경 구축 및 DB에 대한 SQL 실행 예제 노트 2016 Python이 Insert하고 곧 최신 데이터로 Read하고 Pandas에서 Excel로 토하는 것이 좋다고 생각한다. 그렇게 하면 그 앞의 배포로 Windows에 가자 Mac(Mac의 VBA는 가타가타에서 사용하는 것이 되지 않는다)에 가자 괜찮다.
Reference
이 문제에 관하여(WiX가 보낸 HTML 메일을 읽습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/YoshitakaOkada/items/d10e69cc8ed06d7783b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
프로그램을 실행하고 로그인 할 수 없어! 같은 오류가 발생하면
"2단계 인증을 초기 설정한 후 끄기". 의뢰되어, 메일 주소가 이미 정해져 있는 경우 등에, 그 메일 주소의 2단계 인증 프로세스의 초기 설정이 끝나지 않을 가능성이 있다.
· 2단계 인증 프로세스 사용
이쪽도 유효하지 않으면 안 된다(설정 변경 후, 3분 정도 필요)
◎ 이것인가?
StackOverflow을 읽고 "quopri.decodestring()"을 알고,
공식 문서
블로그 를 읽고 "UTF-8 bytes에서 str"을 알았다.
(스마트에 쓰고 있지만 상당히 오갔다)
출처
Gmail.pyimport os,imaplib,quopri
from bs4 import BeautifulSoup
LOGIN_UID = "****@gmail.com"
LOGIN_PWD = "****"
def GetGmailMessage(fromaddress):
#コネクションの確立
gmail = imaplib.IMAP4_SSL("imap.gmail.com")
#ログイン
gmail.login(LOGIN_UID, LOGIN_PWD)
#メールボックス名を「inbox」に指定(※標準がinboxなので省略可能)
gmail.select("inbox")
#すべてのメールをたぐって、特定の送信先のメールをresに返す
res = gmail.search(None, "(ALL HEADER FROM {})".format(fromaddress))
#「res」をもう少し掘ったところにメールの集団があるのでそれを取得
mails = res[1][0].split()
#メッセージ数が0だった場合は処理終了
if len(mails)==0:
return()
#とりあえずデスクトップに「MailFile.log」というテキストを作成してうまく取れるか検証する
f = open("MailFile.log","w")
#各メールに対する処理
for mail in mails:
data = gmail.fetch(mail, '(RFC822)')[1][0][1]
soup = BeautifulSoup(data, "lxml")
for i,td in enumerate(soup.find_all("td")):
if td.string != None:
f.write("[" + str(i) + "] " + quopri.decodestring(td.string).decode('utf-8') + "\n")
f.write("\n")
#あとかたづけ
f.close()
return()
if __name__ == '__main__':
#「MailFile.txt」というテキストを作成する場所
os.chdir(r"C:\Users\Yoshitaka\Desktop")
#Gmailを受信(引数:どこからのメールを?)
GetGmailMessage(fromaddress = "****@powr.io")
다음은?
SQLServer에의 INSERT는 「 Python 환경 구축 및 DB에 대한 SQL 실행 예제 노트 2016 Python이 Insert하고 곧 최신 데이터로 Read하고 Pandas에서 Excel로 토하는 것이 좋다고 생각한다. 그렇게 하면 그 앞의 배포로 Windows에 가자 Mac(Mac의 VBA는 가타가타에서 사용하는 것이 되지 않는다)에 가자 괜찮다.
Reference
이 문제에 관하여(WiX가 보낸 HTML 메일을 읽습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/YoshitakaOkada/items/d10e69cc8ed06d7783b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Gmail.py
import os,imaplib,quopri
from bs4 import BeautifulSoup
LOGIN_UID = "****@gmail.com"
LOGIN_PWD = "****"
def GetGmailMessage(fromaddress):
#コネクションの確立
gmail = imaplib.IMAP4_SSL("imap.gmail.com")
#ログイン
gmail.login(LOGIN_UID, LOGIN_PWD)
#メールボックス名を「inbox」に指定(※標準がinboxなので省略可能)
gmail.select("inbox")
#すべてのメールをたぐって、特定の送信先のメールをresに返す
res = gmail.search(None, "(ALL HEADER FROM {})".format(fromaddress))
#「res」をもう少し掘ったところにメールの集団があるのでそれを取得
mails = res[1][0].split()
#メッセージ数が0だった場合は処理終了
if len(mails)==0:
return()
#とりあえずデスクトップに「MailFile.log」というテキストを作成してうまく取れるか検証する
f = open("MailFile.log","w")
#各メールに対する処理
for mail in mails:
data = gmail.fetch(mail, '(RFC822)')[1][0][1]
soup = BeautifulSoup(data, "lxml")
for i,td in enumerate(soup.find_all("td")):
if td.string != None:
f.write("[" + str(i) + "] " + quopri.decodestring(td.string).decode('utf-8') + "\n")
f.write("\n")
#あとかたづけ
f.close()
return()
if __name__ == '__main__':
#「MailFile.txt」というテキストを作成する場所
os.chdir(r"C:\Users\Yoshitaka\Desktop")
#Gmailを受信(引数:どこからのメールを?)
GetGmailMessage(fromaddress = "****@powr.io")
다음은?
SQLServer에의 INSERT는 「 Python 환경 구축 및 DB에 대한 SQL 실행 예제 노트 2016 Python이 Insert하고 곧 최신 데이터로 Read하고 Pandas에서 Excel로 토하는 것이 좋다고 생각한다. 그렇게 하면 그 앞의 배포로 Windows에 가자 Mac(Mac의 VBA는 가타가타에서 사용하는 것이 되지 않는다)에 가자 괜찮다.
Reference
이 문제에 관하여(WiX가 보낸 HTML 메일을 읽습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/YoshitakaOkada/items/d10e69cc8ed06d7783b3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(WiX가 보낸 HTML 메일을 읽습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/YoshitakaOkada/items/d10e69cc8ed06d7783b3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)