スクレイピング・chromeやIE・マウス操作でがんばって
gmail送信もできるが、
pythonには便利なものがある。
以下、gmail.pyなどで作成。
------------------------------------------------------------------------------------------------------------------
import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate
import configparser
FROM_ADDRESS= ''
MY_PASSWORD= ''
BCC = ''
SUBJECT = '題名'
#BODY = 'pythonでメール送信'
def setting():
config = configparser.ConfigParser()
config.read('.//gmail.ini')
section1 = 'GMAIL'
global FROM_ADDRESS
FROM_ADDRESS = config.get(section1, 'FROM')
global MY_PASSWORD
MY_PASSWORD = config.get(section1, 'MY_PASSWORD')
def create_message(from_addr, to_addr, bcc_addrs, subject, body):
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = from_addr
msg['To'] = to_addr
msg['Bcc'] = bcc_addrs
msg['Date'] = formatdate()
return msg
def send(from_addr, to_addrs, msg):
smtpobj = smtplib.SMTP('smtp.gmail.com', 587)
smtpobj.ehlo()
smtpobj.starttls()
smtpobj.ehlo()
smtpobj.login(FROM_ADDRESS, MY_PASSWORD)
smtpobj.sendmail(from_addr, to_addrs, msg.as_string())
smtpobj.close()
def gmail_send(hokoku):
setting()
subject = SUBJECT
body = hokoku
print(FROM_ADDRESS)
print(MY_PASSWORD)
f = open('TO_ADDRESS.txt')
data1 = f.read()
f.close()
lines1 = data1.split('\n')
for line in lines1:
print(line)
# to_addr = TO_ADDRESS
to_addr = line
msg = create_message(FROM_ADDRESS, to_addr, BCC, subject, body)
send(FROM_ADDRESS, to_addr, msg)
-----------------------------------------------------------------------------------------------------------------
上記は、配信目的で作成したので。
①配信元ファイル(gmail.ini)を読み込む
②TO_ADDRESS.txtに記載されているアドレスすべてに配信。
という流れです。
■gmail.iniの中身
-----------------------------------------------------------------------------
[GMAIL]
FROM=xxxxxxxx@gmail.com
MY_PASSWORD=xxxxxxxx
----------------------------------------------------------------------------
■TO_ADDRESS.txtの中身
----------------------------------------------------------------------------
xxxx1@au.com
xxxx2@au.com
xxxx3@au.com
xxxx4@au.com
----------------------------------------------------------------------------
みたいな感じ。
ccやbccでなく、各送信先に1通ずつ送信する。
配信元の送信済みふぁいるに
xxxx1
xxxx2
xxxx3
xxxx4
の4通できるイメージ。
メールの内容は、呼び出しもとで引き数として渡す。
呼び出し元は↓
----------------------------------------------------------------------------
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 26 11:04:41 2019
@author:
"""
import gmail
def go():
gmail.gmail_send("TEST送信")
def main():
go()
print("終わり")
if __name__=='__main__':
main()
----------------------------------------------------------------------------
こんな感じかな。
https://myaccount.google.com/lesssecureapps
ここで、許可の設定が必要です。
セキュリティ上もっと良い別の設定方法があるみたいですが、
これが一番簡単らしいので取りあえずこれで。。。