ต้องการส่งอีเมลผ่าน 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

ไอลีน กู: ตำนานนักสกีฟรีสไตล์ผู้พลิกโฉมวงการและความหมายของชัยชนะ

ไอลีน กู: ตำนานนักสกีฟรีสไตล์ผู้พลิกโฉมวงการและความหมายของชัยชนะ

เจาะลึกเรื่องราวของ Eileen Gu นักสกีฟรีสไตล์ผู้สร้างประวัติศาสตร์ในโอลิมปิก 2026 สถิติที่ไม่เคยมีมาก่อน ประเด็นถกเถียง และความแข็งแกร่งส่วนตัวที่ทำให้เธอก้าวสู่ระดับโลก

By ทีมงาน devdog
วันพระ: คู่มือฉบับสมบูรณ์สำหรับพุทธศาสนิกชนและผู้สนใจยุคใหม่

วันพระ: คู่มือฉบับสมบูรณ์สำหรับพุทธศาสนิกชนและผู้สนใจยุคใหม่

เจาะลึกวันพระและความสำคัญของวันมาฆบูชา 2569 ทั้งวันหยุดราชการ ธนาคาร กิจกรรมเวียนเทียนต้นไม้ และผลกระทบต่อบริการขนส่ง เตรียมตัววางแผนทำบุญและพักผ่อน

By ทีมงาน devdog
ถอดรหัสรักแท้: "บังมัดคลองตันต้นข้าว" เรื่องราวที่สะท้อนการให้อภัยและการเริ่มต้นใหม่

ถอดรหัสรักแท้: "บังมัดคลองตันต้นข้าว" เรื่องราวที่สะท้อนการให้อภัยและการเริ่มต้นใหม่

เจาะลึกงานวิวาห์ "บังมัดคลองตัน" กับ "ต้นข้าว มิสแกรนด์" พร้อมเหตุผลจากใจเจ้าสาวที่เลือกความรักเหนือกาลเวลาและคำวิจารณ์ สู่การเริ่มต้นชีวิตคู่ที่สะท้อนการให้อภัย

By ทีมงาน devdog
ไฮไลท์บอลไทยลีก 2: มหาสารคาม เอสบีที เอฟซี กับฟอร์มร้อนแรงสู่เส้นทางเพลย์ออฟ

ไฮไลท์บอลไทยลีก 2: มหาสารคาม เอสบีที เอฟซี กับฟอร์มร้อนแรงสู่เส้นทางเพลย์ออฟ

เจาะลึกไฮไลท์บอลไทยลีก 2 ของมหาสารคาม เอสบีที เอฟซี กับฟอร์มร้อนแรง ชัยชนะสำคัญจาก ชิตชนก และบทบาทโค้ชดุสิต สู่เส้นทางเพลย์ออฟที่น่าจับตา!

By ทีมงาน devdog