学分高考 Python

如何使用Python发送MMS消息?

发布时间: 2022-05-28 05:10:01

如何使用Python发送MMS消息?MMS(Multimedia Messaging Service多媒体消息服务)与文本消息基本相同,只不过嵌入了图像、视频或 PDF 文件等多媒体,可以通过文本消息发送这些多媒体。

使用Python发送MMS消息

与代码与发送 SMS 消息基本类似,从同一段代码入手:

main.pydef send_mms_via_email(number:str,message:str,provider:str,sender_credentials:tuple,subject:str="sentusingetext",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:多媒体文件的子类型。

具体的代码如下:

main.pydef send_mms_via_email(number:str,message:str,file_path:str,mime_maintype:str,mime_subtype:str,provider:str,sender_credentials:tuple,subject:str="sentusingetext",smtp_server:str="smtp.gmail.com",smtp_port: int = 465,):

此外,我们还需要导入发送 MMS 的工具函数:

main.pyfromemailimportencodersfrom 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 添加主题、收件人和发件人。

main.pydef send_mms_via_email(number:str,message:str,file_path:str,mime_maintype:str,mime_subtype:str,provider:str,sender_credentials:tuple,subject:str="sentusingetext",smtp_server:str="smtp.gmail.com"smtp_port:int=465,):sender_email,email_password=sender_credentialsreceiver_email=f'{number}@{PROVIDERS.get(provider).get("sms")}'email_message=MIMEMultipart()email_message["Subject"]=subjectemail_message["From"]=sender_email   email_message["To"] = receiver_email

接下来,我们在邮件中添加附件——普通类型(纯文本)。

main.pydef 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_credentialsreceiver_email =f'{number}@{PROVIDERS.get(provider).get("sms")}'email_message = MIMEMultipart()email_message["Subject"] = subjectemail_message["From"] = sender_emailemail_message["To"] = receiver_email   email_message.attach(MIMEText(message,"plain"))
温馨提示:
本文【如何使用Python发送MMS消息?】由作者教培参考提供。该文观点仅代表作者本人,学分高考系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系管理员或作者进行删除。
我们采用的作品包括内容和图片部分来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报
Copyright @ 2024 学分高考 All Rights Reserved 版权所有. 湘ICP备17021685号