Knowledgebase

Pythonでメールを送信する(添付ファイル付き) - 新しいチュートリアル

Python で Aspose API を使用してメールを簡単に送信する方法を学びます。Aspose.Email for Python via .NET ライブラリを使用すれば、MSGPSTEMLEMLX など多数のファイル形式を含むメールメッセージの作成、変換、送信、受信、操作が可能です。

Pythonでメールを送信

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 などのプロパティを簡単に設定できます。

メールメッセージ作成の手順は次のとおりです。

  1. MailMessage クラスのインスタンスを作成
  2. メールメッセージのプロパティを設定
  3. 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)

メールに添付ファイルを追加

添付ファイルをメールに追加する手順は次のとおりです。

  1. MailMessage と Attachment クラスのインスタンスを作成
  2. 添付ファイルを Attachment インスタンスに読み込む
  3. 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 でメールメッセージを送信する手順は次のとおりです。

  1. MailMessage クラスのインスタンスを作成
  2. 送信者と受信者のメールアドレスを指定
  3. TextBody の内容を設定
  4. 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)

プロジェクトでサポートが必要な場合は、いつでも有料コンサルティング の専門家にご相談ください。お客様のプロジェクトに最適なソリューションを提案し、実装・価値提供までフルサポートいたします。今後の成長と開発を私たちにお任せください。