Pythonでメール送信を行う際にはsmtplibを使うのが基本だと思いますが、環境によってはSMTPが使えない場合もあります。そうした時にはWeb API経由でのメール送信が便利です。
Customers Mail Cloudにはメール送信用のAPIが用意されていますが、今回はさらに手軽に使いやすくするライブラリを開発したので紹介します。
インストール
インストールは pip
コマンドで行います。
$ pip install CustomersMailCloud
使い方
まずライブラリをインポートします。
from CustomersMailCloud.Client import CustomersMailCloud
次に初期化します。AWS Lambda × Python でメールを送信する - Customers Mail Cloud ブログを参考にAPIユーザ、APIキーを作成してください。
client = CustomersMailCloud('API_USER', 'API_KEY')
Web APIのエンドポイントは契約ごとに異なります。それを指定します。
client.trial() # トライアルの場合 client.standard() #スタンダードの場合 client.pro(subdomain) # プロの場合。サブドメイン指定が必須です
後はメール送信に必要な宛先、送信元、件名、本文をそれぞれ指定します。
client.addTo('John Doe', 'john@example.com') client.setFrom('Admin', 'info@example.com') client.subject = 'Mail subject' client.text = 'Mail text'
ここまでで準備ができたので、メール送信を行います。エラーがあればExceptionエラーとして検出可能です。
try: client.send() except Exception as e: print('エラー') print(e)
コードについて
コードはgoofmint/CustomersMailCloudPy: Python library for Customers Mail Cloudで公開しています。不具合などがあれば、ご指摘ください。
まとめ
Pythonからメール送信を行う際に、ライブラリを使うことでとても簡単に実装ができます。ぜひお試しください。