ต้องการส่งอีเมลผ่าน Amazon Simple Email Service (SES) โดยใช้ไลบรารี boto3 ใน Python

ต้องการส่งอีเมลผ่าน Amazon Simple Email Service (SES) โดยใช้ไลบรารี boto3 ใน Python ให้ทำตามขั้นตอนต่อไปนี้:

  1. กำหนด AWS Credentials: ตรวจสอบให้แน่ใจว่าได้กำหนด AWS credentials แล้ว สามารถทำได้โดยการตั้งค่า AWS CLI หรือกำหนด credentials โดยตรงในโค้ด (ไม่แนะนำสำหรับการใช้งานจริง)
  2. ส่งอีเมล: ใช้ไลบรารี boto3 เพื่อส่งอีเมลผ่าน SES

ติดตั้ง boto3: ถ้ายังไม่ได้ติดตั้ง boto3 ให้ติดตั้งด้วยคำสั่ง pip:

pip install boto3

ตัวอย่างโค้ดสำหรับส่งอีเมลโดยใช้ boto3 และ SES ดังนี้:

import boto3
from botocore.exceptions import NoCredentialsError, PartialCredentialsError

def send_email(sender, recipient, subject, body_text, body_html):
    # สร้าง SES resource และระบุ region
    ses_client = boto3.client('ses', region_name='us-west-2')  # แทนที่ด้วย region ของคุณ

    # พยายามส่งอีเมล
    try:
        # ระบุเนื้อหาของอีเมล
        response = ses_client.send_email(
            Destination={
                'ToAddresses': [recipient],
            },
            Message={
                'Body': {
                    'Html': {
                        'Charset': 'UTF-8',
                        'Data': body_html,
                    },
                    'Text': {
                        'Charset': 'UTF-8',
                        'Data': body_text,
                    },
                },
                'Subject': {
                    'Charset': 'UTF-8',
                    'Data': subject,
                },
            },
            Source=sender,
        )
    except NoCredentialsError:
        print("Credentials ไม่พร้อมใช้งาน")
    except PartialCredentialsError:
        print("Credentials ไม่ครบถ้วน")
    except Exception as e:
        print(f"เกิดข้อผิดพลาด: {e}")
    else:
        print("ส่งอีเมลสำเร็จ! Message ID:", response['MessageId'])

# ตัวอย่างการใช้งาน
sender = '[email protected]'  # แทนที่ด้วยอีเมลผู้ส่งที่ยืนยันแล้ว
recipient = '[email protected]'  # แทนที่ด้วยอีเมลผู้รับ
subject = 'ทดสอบส่งอีเมล'
body_text = 'นี่คือเนื้อหาของอีเมลในรูปแบบข้อความ'
body_html = '<h1>นี่คือเนื้อหาของอีเมลในรูปแบบ HTML</h1>'

send_email(sender, recipient, subject, body_text, body_html)

จุดสำคัญ:

  • Region: ตรวจสอบให้แน่ใจว่าระบุ region ที่คุณตั้งค่า SES อย่างถูกต้อง
  • อีเมลที่ยืนยัน: ตรวจสอบให้แน่ใจว่าอีเมลผู้ส่งถูกยืนยันใน Amazon SES แล้ว
  • การจัดการข้อผิดพลาด: โค้ดรวมการจัดการข้อผิดพลาดพื้นฐานสำหรับ credentials ที่หายไปหรือไม่ครบถ้วน

การกำหนดค่าเพิ่มเติม:

  • สิทธิ์ IAM: ตรวจสอบให้แน่ใจว่า IAM user หรือ role ที่คุณใช้มีสิทธิ์ที่จำเป็นในการส่งอีเมลผ่าน SES
  • SES Sandbox: ถ้าบัญชีของคุณอยู่ใน SES sandbox คุณจะส่งอีเมลไปยังอีเมลที่ยืนยันเท่านั้น คุณอาจต้องขอสิทธิ์การผลิตเพื่อส่งอีเมลไปยังอีเมลที่ไม่ได้ยืนยัน

นี่คือวิธีการเริ่มต้นในการส่งอีเมลโดยใช้ boto3 และ Amazon SES

Read more

ฉลอง 20 ปี Google Translate เปิดตัวฟีเจอร์ AI ฝึกออกเสียงเรียลไทม์ตามคำเรียกร้อง!

ฉลอง 20 ปี Google Translate เปิดตัวฟีเจอร์ AI ฝึกออกเสียงเรียลไทม์ตามคำเรียกร้อง!

Google Translate ฉลอง 20 ปี! เปิดตัวฟีเจอร์ AI ช่วยฝึกออกเสียงแบบเรียลไทม์ ตอบโจทย์คนอยากเก่งภาษา พร้อมวิเคราะห์และให้คำแนะนำทันที

By ทีมงาน devdog
PPV คืออะไร? เจาะลึกปรากฏการณ์ Pay-Per-View กับอีเวนต์สุดพิเศษแห่งยุค

PPV คืออะไร? เจาะลึกปรากฏการณ์ Pay-Per-View กับอีเวนต์สุดพิเศษแห่งยุค

ทำความเข้าใจ Pay-Per-View (PPV) กับเทรนด์การรับชมอีเวนต์สุดพิเศษ ทั้งศึก ONE Championship, คอนเสิร์ต Project Sekai และความบันเทิงหลากหลายผ่าน ABEMA PPV.

By ทีมงาน devdog
Xiaomi 17T เผยโฉมภาพจริงจาก Anatel ลุ้นเปิดตัว พ.ค. นี้ พร้อมดีไซน์ใหม่และชาร์จไว 67W!

Xiaomi 17T เผยโฉมภาพจริงจาก Anatel ลุ้นเปิดตัว พ.ค. นี้ พร้อมดีไซน์ใหม่และชาร์จไว 67W!

พบภาพจริง Xiaomi 17T จาก Anatel เผยดีไซน์ใหม่ กล้อง Leica ชิป Dimensity 8500 แบต 6500mAh และชาร์จไว 67W ลุ้นเปิดตัวเดือนพฤษภาคมนี้!

By ทีมงาน devdog