
小弟日常撸 java ,最近上手摸了一下 python ,搞搞自动 docker save 镜像、压缩上传、然后发送邮件通知
到最后一步发送邮件了,用的 smtp 协议,结果发现发送邮件贼鸡儿慢,基本上 35 秒左右,但是我用 java 撸了一发,发现很快啊,5 秒内完事儿
下面是我的代码:
#!/usr/bin/python3 import smtplib import traceback from email.mime.text import MIMEText from email.header import Header def send_html_email(smtp_host, smtp_port, use_ssl, from_addr, from_name, password, to_addrs, cc_addrs, subject, content): try: msg = MIMEText(content, _subtype='html', _charset='utf-8') msg['Subject'] = Header(subject, 'utf-8') msg['From'] = "{}<{}>".format(from_name, from_addr) msg['To'] = ",".join(to_addrs) msg['Cc'] = ",".join(cc_addrs) if use_ssl: smtp = smtplib.SMTP_SSL() else: smtp = smtplib.SMTP() smtp.connect(smtp_host, smtp_port) smtp.login(from_addr, password) smtp.sendmail(from_addr, to_addrs, msg.as_string()) except: print("邮件发送失败") traceback.print_exc() finally: smtp.quit() if __name__ == '__main__': smtp_host = "mail.xxx.com.cn" smtp_port = 25 from_addr = "[email protected]" from_name = "xxx" password = "xxx" to_addrs = ["[email protected]"] cc_addrs = ["[email protected]", "[email protected]"] subject = "python SMTP 测试邮件" cOntent= '<a target="_blank" href="http://192.168.200.128">测试链接</a>' send_html_email(smtp_host, smtp_port, False, from_addr, from_name, password, to_addrs, cc_addrs, subject, content) 用 126 邮箱、qq 邮箱、公司自己的邮箱发都一样的,35 秒左右,对比 java 5 秒左右,简直无地自容啊,各位彦祖指导一下,问题何在啊?先行谢过了
说错了,代码打印了一下,java 是 500 毫秒左右,之前估算的,应该主观上加了编译的时间
1 nihaorz OP 说错了,代码打印了一下,java 是 500 毫秒左右,之前估算的,应该主观上加了编译的时间 |
2 iikebug 2022-07-08 22:38:36 +08:00 这不应该吧,性能瓶颈怎么可能在这种情况碰到呢? |
3 CEBBCAT 2022-07-08 23:59:40 +08:00 profile 一下呗 |
4 awen233333 2022-07-10 16:11:47 +08:00 用你代码试了一下,QQ 邮箱 700 毫秒左右 |
5 blankmiss 2022-07-11 02:37:58 +08:00 via iPhone 为什么我感觉 java 很慢 用的 outlook |
6 nihaorz OP @iikebug @CEBBCAT @awen233333 今天上班又试了一下,一切正常了,那天估计是网络有问题,真是头秃啊,哈哈 @blankmiss java 一直都挺好的,我这边没有问题,符合预期。。 |