美しいメールを送信することは、現代のアプリケーションにおいて重要な部分です。登録、通知、またはメールマガジンのいずれであっても、単純な text/plain ではもはや感情を呼び起こすことはできません。しかし、HTMLメールはすでに本格的なマーケティングです💥
この記事では、Pythonプロジェクト内でHTMLとCSSを使用してメールテンプレートを作成および使用する方法について説明します。これは簡単でとても便利です!

🔧 HTML テンプレートをメールに使用する理由
📌 手紙の構成を整理する
🖼 スタイル、ボタン、画像を追加する
👀 視覚的に魅力的なメールを作成する
📱 モバイルデバイスに対応
🛠️ 何を使いますか?
smtplib— メールを送信するためemail.message.EmailMessage— メールを作成するためJinja2— 変数を使用してHTMLを生成するHTML + встроенный CSS— 登録用
📁 プロジェクトの構造
email_project/
├── main.py
├── templates/
│ └── welcome.html🧠ステップ1:HTMLメールテンプレート(templates/welcome.html)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
body { font-family: Arial, sans-serif; background-color: #f9f9f9; padding: 20px; }
.container { background: white; padding: 30px; border-radius: 10px; max-width: 600px; margin: auto; }
h1 { color: #333; }
p { color: #555; }
.button { background-color: #007bff; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px; }
</style>
</head>
<body>
<div class="container">
<h1>Привет, {{ name }}!</h1>
<p>Спасибо за регистрацию. Добро пожаловать в наш проект!</p>
<a href="{{ link }}" class="button">Подтвердить email</a>
</div>
</body>
</html>🧪 ステップ2:main.pyでメールを生成する
import smtplib
from email.message import EmailMessage
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates'))
template = env.get_template('welcome.html')
html_content = template.render(name="Code", link="https://itcodik.com/confirm")
msg = EmailMessage()
msg['Subject'] = 'Welcome!'
msg['From'] = 'noreply@example.com'
msg['To'] = 'user@example.com'
msg.set_content("You have a new email")
msg.add_alternative(html_content, subtype='html')
with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
smtp.login('your_email@gmail.com', 'your_password')
smtp.send_message(msg)重要: パスワードをハードコードしないでください。環境変数または .env を使用してください
📌 レターのレイアウトのヒント
考慮すべきこと | なぜ重要なのか |
|---|---|
✅インラインスタイル | メールユーザーは <style> をカットします |
✅ シンプルな構造 | 信頼性のために <table> を使用することをお勧めします |
❌ JS を使用しない | メールでは機能しません |
✅ URL経由の画像 | 不要なファイルとして添付しないでください |
✅ Gmail、Outlookでテスト | 異なる表示エンジン |
📤 使用例
登録:確認メール
パスワードの復元
ニュースレター
注文通知
サポートレター
👀 どのようにメールをテストしますか?
HTMLファイルをローカルに保存できます。
with open("preview.html", "w", encoding="utf-8") as f:
f.write(html_content)🧩 どこで役に立つか
Flaskプロジェクト(
flask-mail)Django (
EmailMultiAlternatives)非同期SMTPライブラリを介したFastAPI
サーバーボット、通知、CRM統合
🧠 結論
PythonでHTMLメールを作成するのは簡単です!重要なのは、テンプレート、いくつかのスタイル、そしてきちんとした送信です。
メールマガジンや自動生成メールを試したい場合は、アプリで コディック ステップバイステップのコース、テンプレート、コミュニティサポートが見つかります。アクセスするか、書いてください Telegramチャット ✌️
💬 レスポンシブレイアウトまたはMailgun / SendGridとの統合を備えたメールテンプレートが必要ですか?ご連絡ください。続きを作成します!
