Sử dụng Amazon SES với Django


  • administrators

    Amazon Simple Email Service (Amazon SES) là một giải pháp email dễ dùng và hiệu quả cho các ứng dụng. Tuy Amazon SES đang được phát triển ở giai đoạn beta nhưng nó đã đáp ứng tương đối đầy đủ nhu cầu nhận và gửi mail.
    Để đăng ký sử dụng Amazon SES chúng ta làm theo các bước hướng dẫn này để xác minh địa chỉ email cần sử dụng. Nếu làm việc trên môi trường Windows chúng ta cần đọc thêm hướng dẫn này nữa.
    Trên môi trường Ubuntu khi thực hiện quá trình verify email có thể sẽ gặp thông báo lỗi như là "Can't locate XML/LibXML.pm in @INC....". Lỗi này xảy ra khi máy của bạn chưa có thư việc XML của Perl. Để khắc phục bạn cài thêm 2 thư viện của Perl bằng dòng lệnh

    sudo apt-get install libio-socket-ssl-perl
    sudo apt-get install libxml-libxml-perl
    

    Sau khi verify email thành công chúng ta có thể thực hiện gửi mail, nhưng chỉ gửi và nhận với địa chỉ email mà đã được đăng ký, chủ yếu dùng để debug trước khi thực hiện tiếp quá trình đăng ký Production để gửi email đến các địa chỉ khác.
    Công việc tiếp theo là làm sao để sử dụng được Amazon SES từ Django. Chúng ta sẽ phải cài thêm boto (thư viện đóng gói làm việc với các dịch vụ Amazon trên Python) và django-ses.

    sudo pip install boto
    sudo pip install django-ses
    

    Thêm các thông tin sau vào settings.py của project (thông tin về các KEY dưới bạn nên đọc trong phần hướng dẫn có link ở trên).

    AWS_ACCESS_KEY_ID = 'YOUR-ACCESS-KEY-ID'
    AWS_SECRET_ACCESS_KEY = 'YOUR-SECRET-ACCESS-KEY'
    EMAIL_BACKEND = 'django_ses.SESBackend'
    

    Sau khi điền đầy đủ các thông tin cần thiết, chúng ta có thể gửi mail bằng cách sử dụng django.core.mail.send_mail thông qua SES.
    Chúc bạn thành công!


Hãy đăng nhập để trả lời
 

Có vẻ như bạn đã mất kết nối tới Cộng đồng Python Việt Nam, vui lòng đợi một lúc để chúng tôi thử kết nối lại.