求一个能够自建的自动发送邮件的解决方案

6666

echo "This is the mail body" | mail -s "Subject" [email protected]

这个咋用? 映射8000端口以后 按照

192.168.7.105:8000/gn/发邮件?主题=你好&内容=fdsfds&收件人[email protected]&发件人[email protected]&密码=VVVVV

发送get请求就行??

另外。。这个docker容器拉不下来啊

老哥牛X!!太棒了,这就是我想要的!!!
用qq邮箱给qq邮箱发了个邮件 完美!!!
希望老哥能再后期优化一下下 :star_struck:

docker pull lilyhcn1/fastapi 是拉不下来的。。。因为默认标签是lastest
上dockerhub看了下。。。得用这个
docker pull lilyhcn1/fastapi:v6

一个get请求实测邮件发送成功

美中不足就2点。。
1是默认发件人名称是r34 不知道咋改,看了docker 容器的日志里面也没提到发件人名称。。。
2是镜像拉下来解压完有点肥胖 :rofl:
image

对了,这里提醒一下有同样需求的兄弟。。


如果用qq邮箱发送,得开启smtp服务,用生成的授权码作为密码使用

docker新学所以一堆问题,也没时间修改,有兴趣的同学可以加入一起完善。
发件人的问题已经解决。
问题1:
之所以1.7G是因为我不会装python,装了python不会搞中文环境,装了python不会装fastapi.所以后来就直接拉了个fastapi在上面搞。
问题2:
lastest标签的问题已经解决了。

以下是网上抄的python代码,我改了一下附在我开发的程序里就是上面的效果了,有兴趣的朋友欢迎提供各种有趣的代码。我帮忙制作成api,方便大家。

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
 

def sendMail(user,password,message,Subject,sender_show,recipient_show,to_addrs,cc_show=''):
    ret=True
    try:
        msg=MIMEText(message,'plain','utf-8')
        msg['From']=formataddr(["sender_show",sender_show])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['To']=formataddr([recipient_show,recipient_show])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['Subject']=Subject               # 邮件的主题,也可以说是标题

        server=smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是25
        server.login(user, password)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(user,[to_addrs,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()  # 关闭连接
    except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
        ret=False
    return ret

@lilyhcn1 老哥的docker镜像很好,但是你 @tthy 既然都用curl了,为啥不直接用curl发送邮件呢,起一个容器作为服务端不更耗费资源吗

因为有几个项目也是别的大佬打包好的docker容器,输出结果只有webhook