|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 538|回復: 0
打印 上一主題 下一主題

Sendmail配置

[複製鏈接]

86

主題

3

好友

542

積分

中學生

Rank: 3Rank: 3

  • TA的每日心情
    開心
    2024-5-9 21:05
  • 簽到天數: 1593 天

    [LV.Master]伴壇終老

    推廣值
    0
    貢獻值
    0
    金錢
    7167
    威望
    542
    主題
    86
    樓主
    發表於 2014-11-15 20:48:09
    [转载]

    sendmail 配置作者:Christopher Shumway.
      
    sendmail(8)
    是 FreeBSD 中的默认邮件传输代理 (MTA)。 sendmail 的任务是从邮件用户代理 (MUA) 接收邮件然后根据配置文件的定义把它们送给配置好的的寄送程序。 sendmail 也能接受网络连接,并且发送邮件到本地邮箱或者发送它到其它程序。
      sendmail 使用下列配置文件:
    文件名
    功能
    /etc/mail/access
    sendmail 访问数据库文件
    /etc/mail/aliases
    邮箱别名
    /etc/mail/local-host-names
    sendmail 接收邮件主机列表
    /etc/mail/mailer.conf
    邮寄配置程序
    /etc/mail/mailertable
    邮件分发列表
    /etc/mail/sendmail.cf
    sendmail的主配置文件
    /etc/mail/virtusertable
    虚拟用户和域列表
    28.3.1 /etc/mail/access
      访问数据库定义了什么主机或者 IP 地址可以访问本地邮件服务器和它们是哪种类型的访问。主机可能会列出 OK、 REJECT、RELAY 或者简单的通过 sendmail 的出错处理程序检测一个给定的邮件错误。 主机默认列出 OK,允许传送邮件到主机, 只要邮件的最后目的地是本地主机。列出 REJECT 将拒绝所有的邮件连接。如果带有 RELAY 选项的主机将被允许通过这个邮件服务器发送邮件到任何地方。
    例 28-1. 配置 sendmail 的访问许可数据库
    cyberspammer.com                550 We do not accept mail from spammers
    FREE.STEALTH.MAILER@            550 We do not accept mail from spammers
    another.source.of.spam          REJECT
    okay.cyberspammer.com           OK
    128.32                          RELAY
      在上面的例子中我们有 5 条记录。 与左边列表匹配的发件人受到右边列表动作的影响。前边的两个例子给出了 sendmail 的出错处理程序检测到的错误代码。当一个邮件与左边列表相匹配时,这个信息会被打印到远程主机上。 下一条记录拒绝来自 Internet 上的一个特别主机的邮件 another.source.of.spam。接下来的记录允许来自 okay.cyberspammer.com 的邮件连接, 这条记录比上面那行 cyberspammer.com 更准确。更多的准确匹配使不准确的匹配无效。最后一行允许电子邮件从主机和 128.32 开头的 IP 地址转发。这些主机将被允许通过这台邮件服务器前往其它邮件服务器发送邮件。
      当这个文件被升级的时候,您必须在 /etc/mail/ 运行 make 升级数据库。
    28.3.2 /etc/mail/aliases
      别名数据库包含一个扩展到用户,程序或者其它别名的虚拟邮箱列表。 下面是一些在 /etc/mail/aliases 中使用的例子:
    例 28-2. 邮件别名
    root: localuser
    ftp-bugs: joe,eric,paul
    bit.bucket:  /dev/null
    procmail: "|/usr/local/bin/procmail"
      这个文件的格式很简单; 冒号左边的邮箱名, 会被展开成右边的形式。第一个例子简单地将 root 邮箱扩展为 localuser, 之后将继续在别名数据库中进行查找。如果没有找到匹配的记录, 则邮件会被发给本地用户 localuser。第二个例子展示了一个邮件列表。 发送到 ftp-bugs 的邮件会被展开成 joe, eric 和 paul 这三个邮箱。 注意也可以通过  这样的形式来指定远程的邮箱。接下来的例子展示了如何把邮件写入到文件中, 这个例子中是 /dev/null。 最后一个例子展示了如何将邮件发给一个程序,具体而言是通过 UNIX® 管道发到 /usr/local/bin/procmail 的标准输入。
      更新此文件时, 您需要在 /etc/mail/ 中使用 make 来更新数据库。
    28.3.3 /etc/mail/local-host-names
      这是一个
    sendmail(8)
    被接受为一个本地主机名的主机名列表。 可以放入任何 sendmail 将从那里收发邮件的域名或主机。例如,如果这个邮件服务器从域 example.com 和主机 mail.example.com 接收邮件,它的 local-host-names 文件,可以看起来象如下这样:
    example.com
    mail.example.com
      当这个文件被升级,
    sendmail(8)
    必须重新启动,以便更新设置。
    28.3.4 /etc/mail/sendmail.cf
      sendmail的主配置文件 sendmail.cf 控制着 sendmail 的所有行为,包括从重写邮件地址到打印拒绝远程邮件服务器信息等所有事。当然,作为一个不同的角色,这个配置文件是相当复杂的,它的细节部分已经超出了本节的范围。幸运的是,这个文件对于标准的邮件服务器来说很少需要被改动。
      sendmail 主配置文件可以用
    m4(1)
    宏定义 sendmail 的特性和行为。它的细节请看 /usr/src/contrib/sendmail/cf/README。
      当这个文件被修改时, sendmail 必须重新启动以便对新修改生效。
    28.3.5 /etc/mail/virtusertable
      virtusertable 映射虚拟域名和邮箱到真实的邮箱。这些邮箱可以是本地的、远程的、/etc/mail/aliases 中定义的别名或一个文件。
    例 28-3. 虚拟域邮件映射的例子
    root@example.com                root
    postmaster@example.com          postmaster@noc.example.net
    @example.com                    joe
      在上面这个例子中, 我们映射了一个域 example.com。这个文件是按照从上到下, 首个匹配的方式来处理的。 第一项将  映射到本地邮箱 root。 下一项则将  映射到位于 noc.example.net 的 postmaster。 最后,如果没有来自 example.com 的匹配, 则将使用最后一条映射,它表示将所有的其它邮件发给 example.com 域的某个人。 这样,将映射到本地信箱 joe。

    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-5-23 20:16 , Processed in 0.022236 second(s), 17 queries , Gzip On, Memcache On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部