如何使用Python通过电子邮件发送短消息( 五 )


main.pyimport email, smtplib, sslfrom providers importPROVIDERS # used for MMSfrom email import encodersfrom email.mime.base import MIMEBasefrom email.mime.multipart importMIMEMultipartfrom email.mime.text import MIMETextfrom os.path import basenamedef send_sms_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")}' email_message =f"Subject:{subject}\nTo:{receiver_email}\n{message}" with smtplib.SMTP_SSL( smtp_server, smtp_port, context=ssl.create_default_context ) as email: email.login(sender_email, email_password) email.sendmail(sender_email, receiver_email, email_message)def 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")) with open(file_path, "rb") as attachment: part = MIMEBase(mime_maintype, mime_subtype) part.set_payload(attachment.read) encoders.encode_base64(part) part.add_header( "Content-Disposition", f"attachment;filename={basename(file_path)}", ) email_message.attach(part) text = email_message.as_string with smtplib.SMTP_SSL( smtp_server, smtp_port, context=ssl.create_default_context ) as email: email.login(sender_email, email_password) email.sendmail(sender_email, receiver_email, text)def main: number = "5623720883" message = "hello world!" provider = "T-Mobile" sender_credentials = ("email@domain.com","password") # SMS send_sms_via_email(number, message, provider, sender_credentials) # MMS file_path = "/path/to/file/file.png" mime_maintype = "image" mime_subtype = "png" send_mms_via_email( number, message, file_path, mime_maintype, mime_subtype, provider, sender_credentials, ) if __name__ == "__main__": main 常见的 MIME 类型
下表是一些常见的 MIME 类型:
如何使用Python通过电子邮件发送短消息
文章图片

如何使用Python通过电子邮件发送短消息
文章图片

如何使用Python通过电子邮件发送短消息
文章图片

如何使用Python通过电子邮件发送短消息
文章图片

如何使用Python通过电子邮件发送短消息
文章图片

如何使用Python通过电子邮件发送短消息
文章图片

如何使用Python通过电子邮件发送短消息
文章图片

如何使用Python通过电子邮件发送短消息
文章图片

参考链接:
https://www.alfredosequeida.com/blog/how-to-send-text-messages-for-free-using-python-use-python-to-send-text-messages-via-email/
《 新程序员003 》正式上市 ,50余位技术专家共同创作 , 云原生和数字化的开发者们的一本技术精选图书 。 内容既有发展趋势及方法论结构 , 华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!
? 程序员挖“洞”致富:发现一个漏洞 , 获赏 1272 万元!
?IntelliJ 平台彻底停用 Log4j 组件!

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。