Python企业邮箱SMTP发送邮件 腾讯企业邮阿里企业邮
Python对接企业邮箱SMTP发邮件,覆盖腾讯企业邮箱(exmail)和阿里企业邮箱配置,服务器地址端口、授权码、发信限额一次讲清。
场景痛点
公司用的是企业邮箱(域名跟公司网站一致),发出来的邮件比QQ/163显得专业,不容易进对方垃圾箱。但企业邮箱SMTP配置各家不一样,腾讯、阿里、网易企业邮服务器地址和端口都不同。这篇把主流三家的配置和代码统一讲清楚。
用到的库
# smtplib/email标准库,无需安装
完整代码
# -*- coding: utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# ====== 三选一,按你公司用的企业邮箱改 ======
# 腾讯企业邮箱(原微信企业邮箱/exmail)
SMTP_SERVER = "smtp.exmail.qq.com"
SMTP_PORT = 465
# 阿里企业邮箱(万网)
# SMTP_SERVER = "smtp.qiye.aliyun.com"
# SMTP_PORT = 465
# 网易企业邮箱
# SMTP_SERVER = "smtp.qiye.163.com"
# SMTP_PORT = 994 # 网易企业邮SSL端口
# 改成公司邮箱
SENDER = "bot@yourcompany.com"
# 企业邮箱一般直接用登录密码,也可以后台单独开"客户端专用密码"
PASSWORD = "your_email_password_or_auth_code"
RECEIVER = "staff@yourcompany.com"
def send_via_enterprise():
msg = MIMEText("你好,这是公司系统自动发出的通知邮件。", "plain", "utf-8")
msg["From"] = Header(f"系统通知 <{SENDER}>", "utf-8")
msg["To"] = Header(RECEIVER, "utf-8")
msg["Subject"] = Header("【系统通知】你的请假申请已审批", "utf-8")
server = smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT)
server.login(SENDER, PASSWORD)
server.sendmail(SENDER, [RECEIVER], msg.as_string())
server.quit()
print("企业邮箱邮件发送成功")
if __name__ == "__main__":
send_via_enterprise()
代码讲解
- 腾讯企业邮箱:
smtp.exmail.qq.com,SSL端口465,TLS端口587。 - 阿里企业邮箱(万网):
smtp.qiye.aliyun.com,SSL端口465。 - 网易企业邮箱:
smtp.qiye.163.com,SSL端口994(注意不是993,993是IMAP)。 - 企业邮箱一般直接用账号密码登录,但公司如果开了"安全登录验证",需要在后台给这个机器人账号单独开"客户端专用密码"或"授权码"。
- 企业邮箱发出去的邮件因为域名有SPF/DKIM记录,进对方垃圾箱概率远低于个人邮箱,适合正式通知。
运行结果
控制台打印"企业邮箱邮件发送成功",对方邮箱收到来自bot@yourcompany.com的邮件,发件人显示"系统通知"。
注意事项
- 企业邮箱通常由IT部门统一管理,找管理员开SMTP权限,个人自己在网页后台不一定能开。
- 发信限额看企业邮箱套餐,一般免费版每天几百封,付费版几千到几万封。
- 强烈建议给自动化脚本单独建一个机器人邮箱(如
bot@company.com),不要用真人的邮箱密码,人员离职后脚本还能继续跑。 - 企业邮箱经常要求发件人域名跟SPF记录匹配,配错了对方会直接拒收。
- 如果公司用的是微软Exchange Online(Office 365),SMTP服务器是
smtp.office365.com,端口587,要用OAuth2或应用密码。

更新时间:2026-09-14 21:10:05