📜  发送消息脚本 (1)

📅  最后修改于: 2023-12-03 15:37:08.028000             🧑  作者: Mango

发送消息脚本

本脚本可用于通过脚本自动向指定手机号码、邮箱地址或社交平台发送消息,适用于自动化运维、通知等场景。

实现方式

本脚本基于Python语言实现,通过调用相应的API或第三方库来实现消息的发送。

以下为各种消息发送方式的实现方式:

短信

使用云通信服务商提供的API,例如阿里云的云通信、腾讯云的短信服务等。

# 阿里云云通信短信发送示例
import uuid
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest

def send_sms(phone_number, message):
    client = AcsClient('your_access_key', 'your_access_secret', 'cn-hangzhou')
    request = CommonRequest()
    request.set_method('POST')
    request.set_domain('dysmsapi.aliyuncs.com')
    request.set_version('2017-05-25')
    request.set_action_name('SendSms')
    request.set_protocol_type('https')
    request.add_query_param('PhoneNumbers', phone_number)
    request.add_query_param('SignName', 'your_sign_name')
    request.add_query_param('TemplateCode', 'your_template_code')
    request.add_query_param('TemplateParam', message)
    response = client.do_action_with_exception(request)
    return response
邮件

使用Python内置的smtplib库实现邮件发送。

# 邮件发送示例(使用QQ邮箱SMTP协议)
import smtplib
from email.mime.text import MIMEText
from email.header import Header

def send_email(email, message):
    sender = 'your_email@qq.com'
    password = 'your_email_password'
    receivers = [email]
    message = MIMEText(message, 'plain', 'utf-8')
    message['From'] = Header("Python邮件测试", 'utf-8')
    message['To'] = Header(email, 'utf-8')
    message['Subject'] = Header('Python SMTP邮件测试', 'utf-8')
    try:
        smtpObj = smtplib.SMTP_SSL('smtp.qq.com', 465)
        smtpObj.login(sender, password)
        smtpObj.sendmail(sender, receivers, message.as_string())
        return "邮件发送成功"
    except smtplib.SMTPException:
        return "邮件发送失败"
社交平台

使用第三方SDK实现社交平台消息的发送,例如微信企业号、钉钉等。

# 微信企业号消息发送示例
from wxpy import *
bot = Bot(cache_path=True)
user = bot.friends().search('your_wechat_name')[0]
user.send('Hello, Wechat!')
使用方法

将各种消息发送方式的实现代码放入脚本中,根据需要调用相应的函数发送消息即可。

# 调用短信发送函数
result = send_sms('your_phone_number', 'Hello, SMS!')

# 调用邮件发送函数
result = send_email('your_email_address', 'Hello, Email!')

# 调用社交平台消息发送函数
result = send_wechat_msg('your_wechat_name', 'Hello, Wechat!')
注意事项
  1. 在使用短信、邮件等收费服务时,需要保证账号余额充足。
  2. 在使用第三方SDK时,需要事先获取相应的密钥等安全信息。
  3. 发送消息时需要保证网络通畅,否则可能导致消息发送失败。