Làm thế nào để bạn gửi một email tự động trong python?

Trước khi bắt đầu, bạn cần thay đổi một số cài đặt trong tài khoản Gmail của mình. Trước hết, bạn muốn thay đổi cài đặt bảo mật để cho phép mã python của bạn gửi tin nhắn, vì vậy việc tạo một tài khoản email thử nghiệm là phù hợp hơn và rất được khuyến khích. Sau đó, bạn có thể muốn tạo Mật khẩu ứng dụng cho tài khoản Gmail của mình. Chỉ cần truy cập tài khoản google của bạn > Bảo mật > Mật khẩu ứng dụng

Các bước liên quan

  1. Thiết lập máy chủ SMTP [Giao thức truyền thư an toàn] bằng python
  2. Đăng nhập vào tài khoản Gmail của bạn bằng email và mật khẩu của bạn
  3. Chỉ định các tiêu đề như Từ, Đến và Chủ đề bằng đối tượng thông báo MIMEMultipart
  4. thêm tin nhắn
  5. Gửi tin nhắn bằng máy chủ SMTP

Thiết lập máy chủ SMTP

Sử dụng gói smtplib   trong python, bạn có thể chỉ cần thiết lập một máy chủ SMTP với số cổng. smtplib là gói tích hợp trong python để gửi email cơ bản mà không có bất kỳ chủ đề nào, để gửi email hoàn chỉnh, chúng tôi yêu cầu gói email trong python.


import smtplib


# setting the SMTP server with port number

= smtplib.SMTP['smtp.gmail.com',587]


# Starting the server

s.starttls[]


# Logging to the Gmail account

s.login[my_email, password]


Đăng nhập bằng email của bạn và mật khẩu Ứng dụng đã tạo

Gửi email bằng python

Gửi một email cơ bản đến một tài khoản cụ thể chỉ là một nhiệm vụ dễ dàng


import smtplib


# setting the SMTP server with port number

= smtplib.SMTP['smtp.gmail.com',587]


# Starting the server

s.starttls[]


# Logging to the Gmail account

s.login[my_email, password]


message = "Your message"

  

# sending the mail 

s.sendmail["Your email", "receiver email", message]

  

# quit the session

s.quit[]


Điều này sẽ gửi tin nhắn được chỉ định đến email người nhận

Gửi thư có Từ, Đến và Chủ đề

Bây giờ bạn đã biết cách gửi một email cơ bản bằng python, nhưng để gửi một email hoàn chỉnh, bạn cần thêm Địa chỉ người nhận, Địa chỉ người nhận và Chủ đề. Để đạt được điều này, chúng tôi yêu cầu gói email tích hợp trong python. Lưu ý rằng chỉ riêng gói email sẽ không giúp bạn gửi email, bạn cũng cần có smtplib


import smtplib


# setting the SMTP server with port number

= smtplib.SMTP['smtp.gmail.com',587]


# Starting the server

s.starttls[]


# Logging to the Gmail account

s.login[my_email, password]


# Create a message object

msg = MIMEMultipart[]


# Setting the parameters for the message

msg['From'] = my_email

msg['To'] = "receiver_email"

msg['Subject'] = "Email using python"


# Persons name

name = "Sidharth"


# Compose the message body

msg.attach[MIMEText["Hello {}, How are you doing?".format[name], 'plain']]


# Send message using SMTP server 

s.send_message[msg]

print["Message sent successfully"]


Ở đây, chúng tôi đã tạo một đối tượng thông báo bằng cách sử dụng MIMEMultipart[] và chỉ định các tham số. Sau đó, chúng tôi soạn nội dung thư bằng phương thức MIMEText[]. Sau đó, chúng tôi gửi tin nhắn dưới dạng thư bằng máy chủ SMTP mà chúng tôi đã tạo trước đó. Lưu ý rằng tin nhắn chúng tôi đang gửi ở dạng văn bản thuần túy


đầu ra


Gửi Email có nội dung HTML

Bất cứ khi nào bạn nhận được email từ các công ty hoặc trang web, bạn sẽ thấy một số nội dung HTML như logo công ty, kiểu phông chữ, liên kết trang web của họ, v.v., gửi email có nội dung HTML có ý nghĩa vì email văn bản thuần túy không đủ để gửi email có chất lượng tốt. Nhưng điều thú vị là bạn thực sự có thể gửi bất kỳ nội dung HTML nào dưới dạng email bằng python, Hãy xem cách thực hiện điều này

 

name = "Sidharth"


# Creating HTML content

html = """

    

        

Hi,

            

            Subscribe to PyCodeMates for quality contents related to python, machine learning, data science, etc

            

    

"""

# Compose the message body

msg.attach[MIMEText["Hello {}, How are you doing?".format[name], 'plain']]

msg.attach[MIMEText[html, 'html']]


# Send message using SMTP server 

s.send_message[msg]

print["Message sent successfully"]


Ở đây, chúng tôi chỉ thêm hai nội dung, phần nội dung HTML bao gồm chữ "Xin chào" được đặt trong thẻ h1, liên kết trang web và sau đó chúng tôi đính kèm nó vào đối tượng thông báo với tham số là 'html'. Đây chỉ là nội dung HTML cơ bản, các bạn có thể bổ sung thêm HTML cùng với CSS cho hấp dẫn hơn. Bằng cách chạy mã, chúng tôi sẽ nhận được một đầu ra như thế này


Gửi nhiều Email

Cho đến nay, chúng tôi đã học cách gửi email cho một người với nội dung đơn giản và HTML. Bây giờ chúng tôi đang xem cách gửi nhiều email được cá nhân hóa. Gửi email cho nhiều người dùng tiết kiệm thời gian rất nhiều so với gửi thủ công cho từng người. được rồi. Làm thế nào chúng ta có thể làm điều đó?


Đầu tiên, hãy tạo một từ điển với tên và email của những người bạn muốn gửi email đến


persons_list = {

    

    "person1":'person1@gmail.com',

    "person2":'person2@gmail.com',

    "person3":'person3@gmail.com',

    "person4":'person4@gmail.com'

                

    }


Hãy lặp lại từng tên và email này để chúng tôi có thể gửi nó cho từng người


for name, email in persons_list.items[]:

    msg = MIMEMultipart[]


    # Setting the parameters for the message

    msg['From'] = my_email

    msg['To'] = email

    msg['Subject'] = "Email using python"


    # Creating HTML content

    html = """

    

        

            

Hi,

                

                Subscribe to PyCodeMates for quality contents related to python, machine learning, data science, etc

                

        

    

    """

    # Compose the message body

    msg.attach[MIMEText["Hello {}, How are you doing?".format[name], 'plain']]

    msg.attach[MIMEText[html, 'html']]


    # Send message using SMTP server 

    s.send_message[msg]

    print["Message sent successfully"]


Mã này sẽ gửi email cho tất cả những người được chỉ định trong từ điển, có rất nhiều cách khác ngoài việc tạo từ điển, như tạo tệp văn bản cho tên và email, tạo khung dữ liệu gấu trúc để lưu tên và email, v.v. Nhưng để đơn giản, chúng ta có thể sử dụng cấu trúc dữ liệu từ điển trong python

Python có thể tự động hóa email không?

Gửi email theo cách thủ công là một công việc tốn nhiều thời gian và dễ xảy ra lỗi, nhưng có thể dễ dàng tự động hóa bằng Python . Trong hướng dẫn này, bạn sẽ học cách. Thiết lập kết nối an toàn bằng SMTP_SSL[] và.

Bạn có thể gửi email bằng Python không?

Gửi email bằng Python và SMTP . Mô-đun sử dụng giao thức RFC 821 tiêu chuẩn, do đó không cần cài đặt thêm hoặc thủ thuật nào. in its standard library there is a built-in smtplib module that is used for sending emails via SMTP connection. The module uses the standard RFC 821 protocol, so no extra installations or tricks are required.

Có cách nào để gửi email tự động không?

Tự động hóa email là một cách để tạo email tiếp cận đúng người với đúng thông điệp vào đúng thời điểm—mà không phải thực hiện công việc mọi lúc, gửi thư tự động tận dụng tự động hóa tiếp thị .

Chủ Đề