SMTP身份认证 (SMTP AUTH)
SMTP身份认证是一种保证SMTP服务器安全的方法,它要求希望通过SMTP服务器转发 邮件(即邮件最终发送给另一个SMTP服务器)的用户在发送消息之前必须先向James表明自己的身份。 这样垃圾邮件发送者就不能用你的SMTP服务器发送未经授权的邮件了,然而仍然可以让没有固定IP地址的用户 发送他们的消息。
允许垃圾邮件发送者发送未经授权的email的邮件服务器被称为开放中继,所以SMTP AUTH是一种确保你的 邮件服务器不是开放中继的机制。
现在James仅支持简单的用户名/密码认证。
将James配置为需要身份认证的SMTP服务器
将James配置为需要身份认证的SMTP服务器需要几个步骤,调整config.xml文件的几个地方。下面是具体方法:
1.如上所述,SMTP AUTH首先要求James能够区分要发送到本地的邮件和要发送到远程的邮件。James通过将邮件发往的域与配置文件中 的元素来进行判断。任何本地域应该显式的放在元素列表中。
2.James初始配置就使它不是垃圾邮件发送者的开放中继。它通过使用RemoteAddrNotInNetwork mailet 来限制可以接受邮件的发送者的IP地址。要让用户能从任意的客户端发送邮件必须先解除这个限制。解除的办法是 将包含"RemoteAddrNotInNetwork"类属性的mailet标签注释掉或删掉。 可以在spoolmanager配置块的根处理器配置中找到这个标签。
3.将smtpserver配置块中的authRequired元素设为"true"。
4.如果你希望确保通过认证的用户仅能用自己的账号发送邮件,应该将smtpserver配置块中的verifyIdentity 元素设为 "true"。
5.重启James,使你所做的配置生效。
验证你的配置
最终你需要验证你的配置是正确的。这一步很重要,不应该忽略。
确保你没有不经意的将你的服务器配置为开放中继。通过用ORDB.org提供的 服务很容易完成这个验证。 ORDB.org将检查你的邮件服务器,如果它是一个开放中继,ORDB.org会通知你。
确保你没有将服务器配置为开放中继极其重要。除了垃圾邮件发送者的使用所造成的消耗外,SMTP服务器会例行公事 的拒绝来自开放中继的服务器连接,这会严重影响你的邮件服务器发送邮件的能力。
在你的服务器上证实用户能够登录服务器并发送邮件当然也是必要的。这可以用任何标准的邮件客户端 完成(比如Outlook、Eudora、 Evolution)。 ,