Python用ライブラリCustomersMailCloudで添付ファイルを送信する

Pythonでメール送信を行う際にはsmtplibを使うのが基本だと思いますが、環境によってはSMTPが使えない場合もあります。そうした時にはWeb API経由でのメール送信が便利です。

Customers Mail Cloudにはメール送信用のAPIが用意されていますが、それを使いやすくするのがCustomersMailCloudです。今回は添付ファイル送信に対応したので使い方を紹介します。

インストール

インストールは 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'

添付ファイルはaddFileを使います。ファイルは複数指定可能です。

client.addFile('/path/to/file1')
client.addFile('/path/to/file2')

ここまでで準備ができたので、メール送信を行います。エラーがあればExceptionエラーとして検出可能です。

try:
    client.send()
except Exception as e:
    print('エラー')
    print(e)

コードについて

コードはgoofmint/CustomersMailCloudPy: Python library for Customers Mail Cloudで公開しています。不具合などがあれば、ご指摘ください。

まとめ

Pythonからメール送信を行う際に、ライブラリを使うことでとても簡単に実装ができます。ぜひお試しください。

クラウドからのメール送信を簡単に。確実に。| Customers Mail Cloud