在线客服
扫描二维码
下载博学谷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工程师常见面试题集锦--网络编程(1)
自从互联网诞生以来,基本上所有的程序都属于网络程序,也就需要设计到网络编程,在python中,就是在python程序本身这个进程内,链接别的服务器进程的通信端口进行通信。在Python程序员找工作的时候,京城被问到关于网络编程的问题。下面就和大家分享一下那些面试中经常出现的问题吧。
8818
2019-08-14 10:20:04
Python基础知识之变量类型
Python中的变量不需要声明,每个变量在使用之前必须赋值,变量赋值之后,该变量才被创建。而且Python中的变量不需要指定类型。变量类型是大家在学习Python时必须要掌握的基础知识,本文将从变量、赋值、标准和转换四大方面为大家梳理一下变量类型的知识点内容。
8253
2019-07-26 12:57:05
如何同时使用Python2和Python3?
Python的两个大的版本分支,即Python2和Python3。到底是选择Python2还是选择Python3,相信难倒了不少程序员。因此大家常常不得不同时安装Python2和Python3,如何让两个版本的Python兼容,如何同时使用Python2和Python3?就是我们今天要谈论的问题。
8408
2019-07-29 20:26:57
Python入门基础知识学什么?
Python入门基础知识学什么?Python编程语言简单易学功能强大,高效率的高层数据结构,简单有效实现面向对象编程。先安装后工具,大部分人学习和使用Python 直接去官方下对应的环境包安装即可。
4948
2020-01-06 17:57:19
Python学习路线分享
随着程序员这个职业被越来越多人去选择,这个行业也开始变得吃香起来。很多人想从半路上开始学习,希望能在这个市场上多分一杯羹。学习python,不是一跃而成,而是先了解python,规划学习大纲。小编分享最全学习路线:让你下一秒变大神。
5169
2020-01-13 17:33:16