脚本能自动发送邮件吗?

wen 实用脚本 3

本文目录导读:

脚本能自动发送邮件吗?

  1. Python (最常用)
  2. Shell脚本 (Linux/Mac)
  3. Node.js (JavaScript)
  4. PowerShell (Windows)
  5. 常见应用场景:
  6. 注意事项:

是的,脚本完全可以自动发送邮件,这是非常常见的自动化需求,具体实现方式取决于你使用的编程语言和邮件服务。

以下是几种主流方式:

Python (最常用)

使用 smtplibemail 库:

import smtplib
from email.mime.text import MIMEText
# 配置
smtp_server = "smtp.gmail.com"
smtp_port = 587
sender = "your_email@gmail.com"
password = "your_app_password"  # 建议用应用专用密码
# 创建邮件
msg = MIMEText("邮件正文")
msg['Subject'] = "主题"
msg['From'] = sender
msg['To'] = "recipient@example.com"
# 发送
with smtplib.SMTP(smtp_server, smtp_port) as server:
    server.starttls()
    server.login(sender, password)
    server.send_message(msg)

需注意:Gmail等需要开启“允许不安全应用”或使用应用专用密码。

Shell脚本 (Linux/Mac)

使用 mailsendmail 命令:

echo "邮件正文" | mail -s "主题" recipient@example.com

Node.js (JavaScript)

使用 nodemailer 库:

const nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'your_email@gmail.com',
        pass: 'your_password'
    }
});
transporter.sendMail({
    from: 'your_email@gmail.com',
    to: 'recipient@example.com',
    subject: '主题',
    text: '正文'
});

PowerShell (Windows)

Send-MailMessage -To "recipient@example.com" -Subject "主题" -Body "正文" -SmtpServer "smtp.office365.com" -From "your_email@outlook.com"

常见应用场景:

  • 定时报表发送(如每天9点发送销售数据)
  • 系统告警通知(服务器崩溃时自动发邮件)
  • 自动化工作流(表单提交后自动回复确认邮件)
  • 批量发送(如节日祝福、通知)

注意事项:

  1. 安全性:不要在脚本中硬编码密码,使用环境变量或密钥管理服务
  2. 限制:多数邮件服务有发送频率限制(如Gmail每天约500封)
  3. 被标记为垃圾邮件合规,配置SPF/DKIM/DMARC记录
  4. 错误处理:添加重试机制和日志记录

如果你有具体的编程语言或使用场景,我可以提供更详细的代码示例。

抱歉,评论功能暂时关闭!