Pythonで面倒な「メール配信(Gmail)」の作業を自動化しよう|一瞬で仕事がおわるプログラミング活用術

オススメ

例えば仕事をしているときに、何かの処理が終わったときに隣の席の人が知らせてくれたら便利だと思いませんか?
また、メールの宛先によって宛名を変えたい場合、またその先ごとに本文の一部だけ変更したい場合、隣の人がやってくれたら便利じゃないですか?
さらに、株取引をしているときに狙っている金額にまで行ったときに隣の人がやってくれたら便利じゃないですか?
今話した内容は、隣の人ではなく、PythonでGmailを使うと実現できます。

▼目次
00:00 はじめに
02:34 モジュールのインポート
03:56 Googleアカウントの設定
04:29 添付ファイルなしのGmail送信
11:57 添付ファイル付きGmailの送信
17:53 複数の宛先に一斉送信

※1 セキュリティを変更しているのでリスクがあります。テスト用のアカウントにて実施することをおすすめします
※2 メールは配信すると取り消すことができません。業務用として活用されるのであれば、開発部の方と相談をしたり、しっかり検証をしてから実用化しましょう
※3 GoogleAPIを使えばセキュリティの変更をしなくてもよいです。その動画は別途アップロードします

▼関連動画
Pythonで面倒なExcelの仕事を自動化しよう【第一弾】

Pythonで面倒なExcelの仕事を自動化しよう( 第一弾 )|一瞬で仕事がおわるプログラミング活用術

Pythonで面倒な「ブラウザ操作」や「データ収集」の作業を自動化しよう

Pythonで面倒な「ブラウザ操作」や「データ収集」の作業を自動化しよう|Webスクレイピングのやり方をわかりやすく解説

Pythonで面倒な「メール配信(Gmail)」の作業を自動化しよう

Pythonで面倒な「メール配信(Gmail)」の作業を自動化しよう|一瞬で仕事がおわるプログラミング活用術

Python超入門コース |Pythonの超基本的な部分をたった1時間で学べます【プログラミング初心者向け入門講座】

Python超入門コース 合併版|Pythonの超基本的な部分をたった1時間で学べます【プログラミング初心者向け入門講座】

▼自己紹介
現在:フリーランス(マーケティング関連の人工知能開発、データ分析や業務自動化など)
前職:リクルート

▼SNS
Twitter : https://twitter.com/kino_code/likes
Facebook :https://www.facebook.com/%E3%82%AD%E3%83%8E%E3%82%B3%E3%83%BC%E3%83%89-105693727500005/

▼文字書き起こし
この動画では、あなたが発注担当者で、毎週、メールの本文には添付ファイルをつけて、担当者の名前、納期などを記載して送っているというケースで説明をしていきます。
このケースは、例えば、お客さんに毎週や毎日メーリングリストでおすすめ商品を紹介している場合などにも置き換えていただいてもよいでしょう。
これらのケースをExcelのリストを変更するだけで複数人に一斉送信をするコードを解説していきます。この動画の内容を習得すれば、メール送信の自動化ができます。
こういったメール配信は、MarketoやSalesForceなどのツールを導入することができると思います。しかし、導入費用と月額利用料を含めると100万円以上かかることもあります。
個人事業主や小規模事業を営んでいる方であれば難しい金額です。
そのコストをPythonで自作して浮かしてみましょう。
毎月100万円のコストを浮かすことができれば、数千万円の売上に相当します。
また、Gmailは、有料にはなりますが、会社のドメインを使ったビジネス用メールアドレスを使うことができます。
ここで学んだ内容はセキュリティ面は検討が必要なものの、まずは、テスト用のGoogleアカウントを用意してそのアカウントでGmailを配信してみましょう。
それがうまくいけば開発部、システム部の人と相談をして次のステップへ進めば良いと思います。
上司へのアピールの言葉も思い浮かべながら、学習を進めていってください。
それではパソコン画面に切り替えてレッスンを進めていきましょう。

import datetime
import smtplib, ssl
from email.mime.text import MIMEText

まずモジュールなどのインポートをしていきましょう。
モジュールがどんなものなのかもあわせて説明していきます。
まず、datetimeのモジュールをインポートします。
datetimeは日付や時間を取得するモジュールです。
このモジュールを使うと今日の日付を取得したり、その日付に日数を足したり引いたりすることができます。
次に、smtplibのモジュールをインポート。
smtplibは、メールサーバを操作してメール送信することができるモジュールです。
ちなみに、SMTPとは、メールを送信するために使用する通信のルールです。 このSMTPは、メールを送信する時に使われるものです。

そして、sslというモジュールをインポートします。
sslは暗号化の仕組みを使うためのモジュールです。
最後に、email.mime(マイム).textというパッケージからMIMETextをインポートします。
MIMETextは、メールを日本語で送信できるようにするためのモジュールです。
ちなみに、MIMEとは、IT用語で「 Multipurpose Internet Mail Extensions」の略です。語弊を恐れずにいうと、色々な言語や添付ファイルをメールで送信するためのルールのようなものだと理解すれば良いと思います。
このMIMEは、アルファベット、数字、
実行します。

import sys, codecs
sys.stdout = codecs.getwriter(“utf-8”)(sys.stdout)

次に、エンコードのエラーが発生することがあるので、このように記述してください。
これはエンコードを指定する方法です
実行します。

続きは文字書き起こしブログにて。

▼文字書き起こしブログ
https://kino-code.com/python_automation_part7/

#PythonでGmail #Pythonでできること #Pythonで自動化

▼お仕事のお問い合わせ
キノコードでは、仕事の自動化の開発業務&コンサルティング業務のみを現在受け付けております。
お問い合わせ先かTwitterのDMか、「キノコードトップページ→概要」にあるメールアドレスまでお問い合わせください。

コメント

  1. Isyun Ou より:

    動画で教えていただいた内容は全部無事にできましたが、最後の毎日時間指定自動メール配信のコード書き続編を期待します。

  2. nawanagatoshi より:

    いつも本当にありがたいです! 添付ファイルの数を確認するようなメソッドはありますでしょうか。

  3. syacho rajan より:

    ​ @キノコード / プログラミング学習動画のYouTuber 遠山です大変参考になりました、Pythonで面倒な「メール配信(Gmail)」の作業を自動化しよう|みましたが
    メールなぜか2名にしか送れません、事前にmail_list 用意 して宛先名、メールアドレス、添付フアイル
    に入っている4名分に全員に行かない
    どこかいじれば行けるかな 教えてください

タイトルとURLをコピーしました