linux(debian)下邮件发送

关键字: exim4  mutt  smtp

主要的事情就是配置exim4,按照网上的流程来。在这里总结一下:

需要修改的文件有三个:/etc/exim4/update-exim4.conf.conf,  /etc/exim4/passwd-client,  /etc/email-addresses。

  • 首先修改 update*conf文件。 打开文件可以看到
    # Edit this file and /etc/mailname by hand and execute update-exim4.conf
    # yourself or use 'dpkg-reconfigure exim4-config'

    可以看到,不仅要修改此文件,还要修改/etc/mailname,但是mailname文件内可以随便写一个名字。 或者命令行输入 ‘dpkg-reconfigure exim4-config’,根据提示来输入, 跟修改文件的效果是一样的。 

    dc_eximconfig_configtype='smarthost'           #用smarthost发信;通过SMTP或fetchmail接收信件
    dc_other_hostnames=''
    dc_local_interfaces='127.0.0.1'                #只接收本机的SMTP请求,只在本机使用Exim4
    dc_readhost=''
    dc_relay_domains=''
    dc_minimaldns='false'
    dc_relay_nets=''
    dc_smarthost='smtp.qq.com'                   #远程的SMTP主机,我们通过它来发送邮件
    CFILEMODE='644'
    dc_use_split_config='false'                    #不使用分散方式的配置文件
    dc_hide_mailname='false'
    dc_mailname_in_oh='true'

    上面代码是update*conf文件修改后的内容。要注意的地方是 'smtp.qq.com', 可能你使用的只是真正的smtp服务器的别名,要获取真正的smtp服务器也很简单,只需要ping一下即可。例如 ping smpt.pku.edu.cn,

    正在 Ping smtp.lb.pku.edu.cn [162.105.129.21] 具有 32 字节的数据:
    来自 162.105.129.21 的回复: 字节=32 时间=1ms TTL=253
    来自 162.105.129.21 的回复: 字节=32 时间=1ms TTL=253

    可知真正的smtp服务器是smtp.lb.pku.edu.cn。(有些博文说需要在stmp服务器后面添加端口,例如qq的stmp服务器端口是587,那么写成smtp.qq.com::587,但是我这样写一直出现错误,不写端口之后才测试正确。表示实在是不解其中缘由)

  • 修改 passwd-client文件。加入 *:[email protected]:password。 *是通配符,代表之前输入的smtp服务器,然后便是用户名和密码。
  • 修改 email-addresses。 输入 user:[email protected]。 表示user用户使用stmp.lb.pku.edu.cn服务器来发送邮件,验证用户为[email protected]。这里可以为每一个用户设置一个验证邮箱。

设置完后,通过update-exim4.conf命令来修改配置, /etc/init.d/exim4 restart重新启动exim4。

最后发送邮件: 

  mutt -s "主题"  [email protected] < file.txt -a 'attachFile'。 -s表示主题, file.txt是邮件正文,  -a 附件。

 

你可能感兴趣的:(Debian)