最近需要用 python 做一个发送邮件的功能,不用第三方邮箱的 api,怎么才能实现呢?用 python 的 smtpd 库并不会向第三方邮箱投递邮箱,只能看到发送的信息.欢迎各位指点一二.
1
RRRoger 2020-12-15 10:34:12 +08:00 1
`import smtplib`
|
2
taomujian OP @RRRoger 想要的是怎么利用 python 发送邮件到 qq 等第三方邮箱,smtplib 用这个库得配置第三方邮箱接口,不符合需求
|
3
renmu123 2020-12-15 10:44:11 +08:00
|
4
herojaxy 2020-12-15 10:48:09 +08:00
直接用 socket 不就行了,了解下 smtp 协议,很简单的
|
8
ningbo2018 2020-12-15 11:03:25 +08:00
https://github.com/yangningbo666/operation-tools/tree/master/mail-by-local 之前写的用的就是 smtplib,在 Linux 本地发送邮件,不使用别的第三方邮箱 api
|
12
taomujian OP @ningbo2018 OK,我借鉴下
|
13
ericgui 2020-12-15 12:21:44 +08:00
你还是用第三方专业的邮件服务吧
会否则进垃圾箱的 |
14
TimePPT 2020-12-15 12:57:05 +08:00 via Android
进垃圾箱是小,严重的直接把你 IP ban 了
|
15
love 2020-12-15 13:23:26 +08:00 via Android
自己搭的想发给 qq 你想多了,qq 过头的反垃圾邮件是吃素的吗
|
16
taomujian OP 进垃圾箱也无妨
|
17
falcon05 2020-12-15 13:43:29 +08:00 via iPhone
好像可以调用系统的邮件,Linux 默认是 sendmail,php 的 mail 函数默认就是这样的。
|
18
falcon05 2020-12-15 13:55:03 +08:00
楼上的都是想当然了,实际上 QQ 邮箱并不会一定会拦截伪造的发件人,只会显示由 xxx 代发,当然那个代发的地址只是跑 sendmail 进程的用户和主机名。不会进垃圾箱,更没有封 ip 一说,以下是我的 wordpress 网站注册用户提醒邮件。
https://i.loli.net/2020/12/15/EFI4LCe6onms3Ti.png |
19
TimePPT 2020-12-15 14:04:16 +08:00 via Android
@falcon05 并不是想当然,你大规模发送试试,分分钟被 ban,邮件反垃圾跟 IP 行为评级,发送频率等相关。偶尔发和大批量发送两码事。
我最高做过日发送量 200 万的 edm,QQ 邮箱收信是最难的 |
20
falcon05 2020-12-15 14:41:23 +08:00 via iPhone 1
@TimePPT 那不是单一因素了,大规模发送任何一个合格的邮件系统都有风控。目前我见过最严格的是 hotmail,连 digital ocean 的正常验证邮件都收不到。
|
21
TimePPT 2020-12-15 14:54:31 +08:00 1
@falcon05 对的,ESP 运营商发垃圾策略基本上会考虑几十个因素上百种策略,如果大面积群发,至少要做好相应策略规避风险。
比如因素有:IP 历史行为评级(历史垃圾 IP 黑名单)、MX 记录 /TXT 记录、IP 反解析、SPF 设置、DKIM 设置、发送频率、无效投递邮件占比、邮件内容敏感词、邮件内容外链评级(垃圾外链)、订阅邮件是否提供可退订选项……等等等等。 都做好了,才有可能有比较好的投递效果。 当然,感觉 LZ 不在乎 ╮(╯_╰)╭ |
22
julyclyde 2020-12-15 14:56:20 +08:00
20 年前的话倒是可以这么写
|
23
taomujian OP 发送邮件是为了注册系统用的,能收到验证码就好,在不在垃圾箱不重要,不是商用,个人开发的小系统用,现在注册得配置第三方邮箱 api,太麻烦了..........
|
24
Hilalum 2020-12-15 19:01:31 +08:00
|
26
cz5424 2020-12-15 22:15:13 +08:00 via iPhone
@taomujian 后面做出来发现自己写的更不好用,但以学技术为目的,没事有时间造轮子肯定是没问题的,随便折腾吧
|
27
tonyaiken 2020-12-16 01:29:52 +08:00 via iPhone
就是配置一下服务器地址账号密码端口有什么麻烦的,别人收不到邮件每次都来问你才麻烦。
|
30
huichao 2020-12-19 08:59:02 +08:00
个人推荐使用第三方的,我们公司有用 Mailgun 和 SendGrid
|
31
hxy100 2020-12-20 09:34:22 +08:00
不使用第三方提供的服务的话那你得自己搭建 SMTP 服务器,需要准备较权威的域名和 DNS 反向解析记录,否则是无法顺利发送的,接收方邮箱是 QQ,163 这些的话直接就拦截了。对方看不到。
|