分享

Linux利用Esmtp 选择邮件服务器发送邮件(解决手机接收乱码)

 guli3057 2014-04-25


      因公司业务需求,需要定时发送一些业务邮件。使用Linux 自带的mail 命令 发送邮件 ,能正常发送但是领导们都用手机收取邮件,很崩溃 他们接收到的邮件乱码。不得不想办法解决此问题。

   就在google 上搜搜 ,发现 利用 esmtp和mutt 可以收发 邮件  ,那我用一个不就可以利用其他邮件服务器发送邮件了吗。听大家都说gmail的邮箱 设这程utf-8的语言,手机收取就不乱码了。那就开始安装  、设置esmtp使用 gmail邮箱发送邮件。

环境: Centos5.2

需求 :发送邮件使用手机接收并不乱码

下载所需要的安装包,esmtp 是主程序,libesmtp是lib库

http:///projects/esmtp/files/esmtp/1.2/

http://www.stafford./libesmtp/download.html

一、安装

1、安装libesmtp  Lib库安装在/usr/local下


$ tar xvjf libesmtp-1.0.4.tar.bz2

$ cd libesmtp-1.0.4

$ ./configure --prefix=/usr/local

$ make

$ make install

$ cd ..



2、安装Esmtp主程序

$ tar xvjf esmtp-1.2.tar.bz2

$ cd esmtp-1.2

$ ./configure --prefix=/usr/local --with-libesmtp=/usr/local

$ make

$ make install


二、配置

1、改变系统中sendmail的链接,系统本身是这样的


/usr/sbin/sendmail -> /etc/alternatives/mta

$ mv  /usr/sbin/sendmail /usr/sbin/sendmail #不要删除做个备份,有问题可以恢复

$ ln -s /usr/bin/esmtp /usr/sbin/sendmail




2、创建配置文件,


1、在用户的根目录下创建 ~/.muttrc 和~/.esmtprc


# touch ~/.muttrc

#touch ~/.esmtpra


配置上面2个配置文件  


# vi ~/.esmtprc

identity mail1122@gmail.com

hostname = smtp.gmail.com:587

username = "mail1122@gmail.com"

password = "xxxxxx"

starttls = enabled

mda = "/usr/bin/procmail -d %T"


2、配置~/.muttrc 文件


# vi ~/.muttrc

set sendmail=”/usr/local/esmtp/bin/esmtp”

set envelope_from=yes



更多的配置参考:http://esmtp./doc.html

三、 现在可以发一封邮件测试下


# echo “测试”| mail -s “ceshi” leezhenhua17@163.com


如果在发送的时候报send-mail: error while loading shared libraries: libesmtp.so.6: cannot open shared object file: No such file or directory

可以在/etc/ld.so.conf加入一行

echo "/usr/local/lib" >> /etc/ld.so.conf && ldconfig 就能解决


客户端很快就收到邮件,用手机接收下不乱码好了。完成。


文章出自:colderboy

本文出自 “badboy” 博客,请务必保留此出处http://colderboy.blog.51cto.com/485582/471589

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多