跳至论坛內容
iRedMail 开源邮件服务解决方案
支持 Red Hat Enterprise Linux, CentOS, Scientific Linux, Debian, Ubuntu, FreeBSD, OpenBSD
您尚未登陆。 请选择登陆或是注册一个新账号。
热门主题 尚未回复的主题
iRedMail 技术交流 QQ 群:296792359。
Spider Email Archiver:由 iRedMail 团队开发的轻量级电子邮件归档软件。
搜索选项
补充一下. 我设置了一个邮件列表的投递规则为 本域用户. 我用我自己的gmail邮件给我公司邮箱发送邮件提示 被公司邮箱(iredmaial) 拒绝了, 但是 我使用上面的脚本. 例如我需要对ytest@example.com 这个邮件列表投递邮件 我可以这样绕过
import sys
import smtplib
import email.utils
from email.mime.text import MIMEText
content = ["test",'test']
msg = MIMEText(''.join(content))
msg['To'] = email.utils.formataddr(('ytest','ytest@example.com,'))
msg['From'] = email.utils.formataddr(('ytest','ytest@example.com'))
msg['Subject'] = 'this is fake mail'
server = smtplib.SMTP()
try:
server.connect('mx.example.com')
server.ehlo()
server.sendmail('ytest@example.com',['ytest@example.com'],msg.as_string())
except Exception,e:
print e
sys.exit(1)
finally:
server.quit()
这样的话. 哪怕我的ytest设置了只允许域内用户投递邮件. 此时这个信件也是可以被送进来的
我们的邮箱现在存在如下几个问题
1. A用户登录之后发送邮件的时候可以任意修改from为其他人(不管这个地址是否存在)的邮箱地址, 给B发送邮件
2. 邮件列表的邮箱地址可以用来给任意人发送邮件,而不需要登录验证, 接收到这个邮件的用户的from上显示的就是邮件列表的地址.
对于问题1 我们的发信规则中有加入: reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, 来进行限制, 但是好像无效
对于问题2的验证. 有如下脚本
假设all@example.com 是一个邮件列表的地址
import sys
import smtplib
import email.utils
from email.mime.text import MIMEText
content = ["test",'test']
msg = MIMEText(''.join(content))
msg['To'] = email.utils.formataddr(('yp2','yp2@example.com,'))
msg['From'] = email.utils.formataddr(('all','all@example.com'))
msg['Subject'] = 'this is fake mail'
server = smtplib.SMTP()
try:
server.connect('mx.example.com')
server.ehlo()
server.sendmail('all@example.com',['yp2@example.com'],msg.as_string())
except Exception,e:
print e
sys.exit(1)
finally:
server.quit()
搜索到的文章数 [ 2 ]
页面生成时间 0.004 秒, 共执行查询 72 条