在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
如何使用Python发送MMS消息?MMS(Multimedia Messaging Service多媒体消息服务)与文本消息基本相同,只不过嵌入了图像、视频或 PDF 文件等多媒体,可以通过文本消息发送这些多媒体。
与代码与发送 SMS 消息基本类似,从同一段代码入手:
send_mms_via_email( number: str, message: str, provider: str, sender_credentials: tuple, subject: str = "sent using etext", smtp_server: str = "smtp.gmail.com", smtp_port: int = 465,): sender_email, email_password = sender_credentials receiver_email =f'{number}@{PROVIDERS.get(provider).get("sms")}'
为了发送 MMS 消息,我们还需要添加三个参数:
file_path:由于我们需要一个文件来发送多媒体消息,因此需要再添加一个参数用以表示文件的路径。
mime_maintype:多媒体文件的主类型。
mime_subtype:多媒体文件的子类型。
具体的代码如下:
send_mms_via_email( number: str, message: str, file_path: str, mime_maintype: str, mime_subtype: str, provider: str, sender_credentials: tuple, subject: str = "sent using etext", smtp_server: str = "smtp.gmail.com", smtp_port: int = 465,):
此外,我们还需要导入发送 MMS 的工具函数:
main.pyfrom email import encodersfrom email.mime.base import MIMEBasefrom email.mime.multipart importMIMEMultipartfrom email.mime.text import MIMETextfrom os.path import basename
接下来,写发送电子邮件的函数。发送的邮件不需要显示主题、收件人和消息,但邮件应该包含多个部分:第一部分,消息本身;第二部分,电子邮件的附件。
回顾移动提供商列表,你可能会注意到一些提供商不支持发送多媒体消息,或者使用同一个域名和支持 SMS 的密钥发送短消息和多媒体消息。
例如,T-Mobile 没有 MMS 密钥,但实际上它支持 MMS 密钥,这意味着我们可以使用同一个短信域来 SMS 和 MMS。与此同时,AT&T 既有 SMS 域也有 MMS 域。因此,你需要根据发送的内容选择合适的域名。
与上述 email_message 方法类似,但这次我们使用 MIMEMultipart。此外,我们还需要使用 email_message 添加主题、收件人和发件人。
send_mms_via_email( number: str, message: str, file_path: str, mime_maintype: str, mime_subtype: str, provider: str, sender_credentials: tuple, subject: str = "sent using etext", smtp_server: str = "smtp.gmail.com" smtp_port: int = 465,): sender_email, email_password = sender_credentials receiver_email =f'{number}@{PROVIDERS.get(provider).get("sms")}' email_message = MIMEMultipart() email_message["Subject"] = subject email_message["From"] = sender_email email_message["To"] = receiver_email
接下来,我们在邮件中添加附件——普通类型(纯文本)。
send_mms_via_email( number: str, message: str, file_path: str, mime_maintype: str, mime_subtype: str, provider: str, sender_credentials: tuple, subject: str = "sent using etext", smtp_server: str = "smtp.gmail.com", smtp_port: int = 465,): sender_email, email_password = sender_credentials receiver_email =f'{number}@{PROVIDERS.get(provider).get("sms")}' email_message = MIMEMultipart() email_message["Subject"] = subject email_message["From"] = sender_email email_message["To"] = receiver_email email_message.attach(MIMEText(message, "plain"))
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
如何自学python?有好的建议吗?
自学的是一个节约成本的投资,能够按照自己设定的学习计划进行学习,时间安排也比较自由。可是自学需要强大的自制力,需要耐得住寂寞,每天固定的坚持学习,但是遇到技术难点很容易做牛角尖,导致半途而废。如何自学python?有好的建议吗?让我给大家说一说自学前大概做得准备吧!
6090
2020-01-13 15:56:28
Python数据分析可视化教程学习
随着数据分析与数据挖掘行业的日益火爆,Python数据分析可视化教程也成为了许多人提升职业竞争力的必修课。本文将详细为大家介绍Python数据分析可视化教程的具体内容,全文会围绕着为什么学?学什么?学了有什么用?这几个问题展开,让大家全面了解该教程适不适合自己学习。如果对数据分析感兴趣就接着看下去吧!
5937
2020-04-03 15:54:58
Python基础学习笔记之运算符
许多人对于编程学习中的数学能力都存在或多或少的误解,虽然每一种编程语言都包含了处理数字和进行数学计算的方法,但是并不像一些人想象得那么难,相反还十分简单,毕竟不是一定要数学天才才能学得好编程。本文为大家总结了关于运算符的Python基础学习笔记,下面一起来看看吧!
4551
2020-04-28 10:36:49
新手入门如何学习Flask框架
学习Python的同学都知道Python常用的三大框架是Flask、Django、Tornado。本篇文章我们就来了解一下如何学习Flask框架。
4801
2020-08-24 11:57:59
多个装饰器如何使用?代码如何实现?
装饰器函数在被装饰函数定义好的时候立即执行,以“自下而上”的顺序进行;掌握多个装饰器的操作,使用多个装饰器装饰一个函数。
2795
2021-12-02 13:48:50