contents
* 简介
* 问题
* 找一个合适的mail agent
* 配置ssmtp
* 使用send-pr
* 参与讨论(以emacs为例)
简介
本文不是介绍如何新建或是修改一个port的,关于这一部分,请参考 the porter's handbook. 本文将主要介绍在当前中国的网络环境下如何将你所作的改动发给freebsd的pr库.
非常感谢aiwha, delphij, intron, liue等各位在我第一次发pr时的帮助.本文的最新版将放在 http://dryice.3322.org/computer/freebsd/chinese/sendpr.html
问题
因为垃圾邮件太多,freebsd的mailing list server对收到的信件做了严格的限制:一定要从可以做反向dns解析的机器发出的信才接收.
所谓反向解析,就是从一个给定的ip,找出对应的域名.我们平时上网用的dns解析,是从域名到ip,这个是由域名的所有者设定的.而反向dns解析,是由ip的所有者(通常是isp)设定的.
我们中很多人用的是动态ip,isp不可能给我们设反向dns解析,更不用说很多是内网上网,或是在虚拟机里装的freebsd了.即使是使用固定ip的网友,也很少有人能让他的isp给他设反向解析.这样,当我们在自己的freebsd里面用send-pr发 pr的时候,过不了多久就会收到退信,象这样:
450 client host rejected:
cannot find your hostname, [xxx.xxx.xxx.xxx]
这样,除非你能在一台有反向解析的freebsd机器上有账号,要不然就只能想办法骗过freebsd的mail server,让它以为信是从另一台有反向解析的机器上发出的。这就是我们下面要介绍的办法:使用ssmtp
找一个合适的mail agent
这里的mail agent是ssmtp的叫法,就是我们要用的带反向解析的smtp服务器.很可惜,目前我见到的国内的邮件服务商,不论是免费的还是付费的,都是不带反向解析的.所以大家就只好到国外去找了,方法很简单:
1. 找一个免费的邮件服务商并找到他的smtp服务器地址
2. ping这个地址找到ip
3. 到 http:/.network-tools.com/default.asp?prog=express&.netnic=whois.arin.net 输入刚才得到的ip,看能不能反查到域名
4. 如果可以,就注册一个用户,不能,就重新来 :)
配置ssmtp
ssmtp可以模拟sendmail,把我们在stdin的输入发送给指定的smtp服务器.它在 ports里面,/usr/ports/mail/ssmtp,直接make install clean就好了.
安装完后,需要修改/usr/local/etc/ssmtp/ssmtp.conf文件进行配置:
* mailhub改成你找到的smtp服务器地址
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器