Pythonでメールを送信する(添付ファイル付き) - 新しいチュートリアル
Python で Aspose API を使用してメールを簡単に送信する方法を学びます。Aspose.Email for Python via .NET ライブラリを使用すれば、MSG 、PST 、EML 、EMLX など多数のファイル形式を含むメールメッセージの作成、変換、送信、受信、操作が可能です。

Aspose.Email for Python via .NET は、メールメッセージ形式の複雑さを意識せずに作成・操作・変換できる堅牢で強力なメールプログラミング API です。使いやすさと高い信頼性を兼ね備えたクラスライブラリで、複雑なメッセージファイル処理を迅速かつ簡単にコード化できます。
この API はさまざまなタスクに利用でき、どのようなアプリケーションにも統合可能です。開発者がすぐに作業を開始できるよう、コード例も多数用意しています。
Aspose.Email for Python via .NET の機能:
- メール形式の変換とレンダリング
- 添付ファイルを含む一般的なメール形式の送受信
- IMAP および POP3 サーバーからのメールダウンロード
- iCalendar を使用したタスクの作成・更新
- メッセージストレージファイルの操作
- メール添付ファイルの操作
- iCalendar 準拠の会議や予定の操作
- TLS と SSL のサポート
- TNEF 添付ファイルのサポート
サポートされているファイル形式:
- MSG – Microsoft Outlook と Exchange のメール、予定、タスクを保存する形式
- PST – Outlook の個人用ストレージファイルで、メール、カレンダー、連絡先などを保存
- OST – Exchange Server に登録されたユーザーのローカルメールボックスデータ
- OFT – Microsoft Outlook のメッセージテンプレートファイル
- EML – Outlook などで保存されたメールメッセージ
- EMLX – Apple が開発したテキスト形式のメールファイル
- MBOX – 電子メールメッセージのコレクションに使用される形式
- ICS – iCalendar 形式で、イベントやスケジュールタスクをメールで共有
- VCF – 電子名刺(コンタクト情報)用ファイル形式
- HTML – ウェブページ用のハイパーテキストマークアップ言語
- MHTML – ウェブページ全体をアーカイブした形式
Python を使用したメールの作成と内容設定
メールメッセージの作成
MailMessage クラスを使用すると、新しいメールメッセージを作成できます。このクラスはメールメッセージを表し、From、To、Subject、Body などのプロパティを簡単に設定できます。
メールメッセージ作成の手順は次のとおりです。
- MailMessage クラスのインスタンスを作成
- メールメッセージのプロパティを設定
- EML、MSG、MHTML などの異なる形式でメールを保存
以下のコードスニペットは、さまざまなプロパティを持つ新しいメールを作成する方法を示しています。
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "New MailMessage created with Aspose.Email for Python"
eml.html_body = "<b>This line is in bold </b> while this is normal text"
eml.from_address = "from@domain.com"
eml.to.append(ae.MailAddress("to1@domain.com", "Recipient 1"))
eml.to.append(ae.MailAddress("to2@domain.com", "Recipient 2"))
eml.cc.append(ae.MailAddress("cc1@domain.com", "Recipient 3"))
eml.cc.append(ae.MailAddress("cc2@domain.com", "Recipient 4"))
#Save generated EML in different formats to disc
eml.save(dataDir + "CreateNewMailMessage_out.eml")
eml.save(dataDir + "CreateNewMailMessage_out.msg", ae.SaveOptions.default_msg_unicode)
eml.save(dataDir + "message_out.msg", ae.SaveOptions.default_msg)
eml.save(dataDir + "message_out.mhtml", ae.SaveOptions.default_mhtml)
eml.save(dataDir + "message_out.html", ae.SaveOptions.default_html)
HTML 本文の設定
HtmlBody プロパティでメッセージ本文の HTML コンテンツを指定します。以下のコードスニペットは HTML 本文を設定する方法を示しています。
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()
# Specify HtmlBody
eml.html_body = "<html><body>This is the HTML body</body></html>"
メールメッセージに代替テキストを設定
AlternateView クラスは、異なる形式でメールメッセージのコピーを指定します。このクラスには次の 2 つのプロパティがあります。
- LinkedResources – レンダリング時にメール本文内の URL を各 LinkedResources オブジェクトの Content Link と照合して解決
- BaseUri – メールリーダーが本文内の相対 URL を解決するために使用
以下のコードスニペットは代替テキストを追加する例です。
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()
# Creates AlternateView to view an email message using the content specified in the //string
alternate = AlternateView.create_alternate_view_from_string("Alternate Text")
# Adding alternate text
eml.add_alternate_view(alternate)
メールに添付ファイルを追加
添付ファイルをメールに追加する手順は次のとおりです。
- MailMessage と Attachment クラスのインスタンスを作成
- 添付ファイルを Attachment インスタンスに読み込む
- Attachment インスタンスを MailMessage に追加
以下のコードスニペットは添付ファイルをメールに追加する例です。
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Create an instance of MailMessage class
message = MailMessage("sender@domain.com", "receiver@domain.com")
# Load an attachment
attachment = Attachment(dataDir + "1.txt");
# Add Multiple Attachment in instance of MailMessage class and Save message to disk
message.attachments.append(attachment);
message.add_attachment(Attachment(dataDir + "1.jpg"))
message.add_attachment(Attachment(dataDir + "1.doc"))
message.add_attachment(Attachment(dataDir + "1.rar"))
message.add_attachment(Attachment(dataDir + "1.pdf"))
message.save(dataDir + "AddEmailAttachments_out.msg", SaveOptions.default_msg_unicode)
Python でメールを送信する
Aspose.Email for Python は SMTP、POP3、IMAP のメールサーバーを介してメール送信をサポートします。POP3 サーバーへはユーザー名・パスワード、または APOP 認証でログインし、メールボックスサイズやメッセージ数の確認、メッセージ全体やヘッダーの取得、メッセージ削除、基本的な POP3 コマンドの実行が可能です。
また、IMAP プロトコルとそのコマンド、認証、フォルダー選択・作成・削除、クエリ、メッセージ保存、取得、削除、ラベル操作もサポートしています。
SMTP クライアントでメッセージを送信
Python でメールメッセージを送信する手順は次のとおりです。
- MailMessage クラスのインスタンスを作成
- 送信者と受信者のメールアドレスを指定
- TextBody の内容を設定
- SmtpClient クラスのインスタンスを作成し、メールを送信
以下のコードスニペットはテキストメールを送信する方法を示しています。
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))
#Send using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO
client.send(eml)
プロジェクトでサポートが必要な場合は、いつでも有料コンサルティング の専門家にご相談ください。お客様のプロジェクトに最適なソリューションを提案し、実装・価値提供までフルサポートいたします。今後の成長と開発を私たちにお任せください。