欢迎访问宙启技术站
智能推送

使用SendGridClient()发送带附件的邮件:Python中的实践指南

发布时间:2023-12-27 08:52:20

发送带附件的邮件是一项常见的需求,可以使用SendGridClient()库来实现。SendGridClient()是一个Python包,可以轻松地与SendGrid API进行交互,以发送电子邮件。

以下是使用SendGridClient()发送带附件的邮件的步骤和实例:

1.首先,确保已安装SendGridClient包。可以使用以下命令在Python中安装它:

pip install sendgrid

2.导入SendGridClient库和相关模块:

from sendgrid import SendGridClient
from sendgrid.helpers.mail import Mail, Attachment, FileContent, FileName, FileType, Disposition

3.设置发送邮件的API密钥:

API_KEY = 'your_sendgrid_api_key'

4.创建一个SendGridClient对象:

sg = SendGridClient(API_KEY)

5.创建邮件内容,并添加收件人、发件人、主题等信息:

mail = Mail()
mail.set_from('from@example.com')
mail.add_to('to@example.com')
mail.set_subject('Example Email with Attachment')
mail.set_text('Hello, see the attached file!')

6.将附件添加到邮件中,可以添加多个附件:

with open('path/to/file.pdf', 'rb') as f:
    file_content = f.read()
attachment = Attachment()
attachment.set_content(FileContent(file_content))
attachment.set_filename(FileName('file.pdf'))
attachment.set_type(FileType('application/pdf'))
attachment.set_disposition(Disposition('attachment'))
mail.add_attachment(attachment)

7.使用SendGridClient对象发送邮件:

response = sg.send(mail)
print(response.status_code)
print(response.body)
print(response.headers)

完整的示例代码如下:

from sendgrid import SendGridClient
from sendgrid.helpers.mail import Mail, Attachment, FileContent, FileName, FileType, Disposition

API_KEY = 'your_sendgrid_api_key'

sg = SendGridClient(API_KEY)

mail = Mail()
mail.set_from('from@example.com')
mail.add_to('to@example.com')
mail.set_subject('Example Email with Attachment')
mail.set_text('Hello, see the attached file!')

with open('path/to/file.pdf', 'rb') as f:
    file_content = f.read()
attachment = Attachment()
attachment.set_content(FileContent(file_content))
attachment.set_filename(FileName('file.pdf'))
attachment.set_type(FileType('application/pdf'))
attachment.set_disposition(Disposition('attachment'))
mail.add_attachment(attachment)

response = sg.send(mail)
print(response.status_code)
print(response.body)
print(response.headers)

运行此代码将使用SendGrid API发送包含附件的电子邮件。可以替换"your_sendgrid_api_key"为您的SendGrid API密钥,并将"path/to/file.pdf"替换为您要发送的附件的实际路径。

希望这个指南和示例对您有所帮助!