您现在的位置: 爱51代码网 >> 范文 >> 文章正文
SMTP server problem No route to host
bsp;    examples/singlepart/c是我们的第一个测试文件,由于他是编译好的,所以我先拿来试试,但是他的源码里面有个问题,导致我一直连接不上服务器。

         133         + if (libsmtp_connect(server,0,0,mailsession))   将" container"改成server

         smtpmail.c也有这问题,不知道为什么作者要这么写。。。

         保存好以后重新返回上一层make一下,然后重新运行singlepart

4.首先测试环回连接:

         From:address输入127.0.0.1

         subjectline随便输入

         mailserver输入127.0.0.1        如果是域名,则需要DNS支持,DNS我战五渣还不会用,以后再来看看这问题。(MX记录:是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。MX记录也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。)

         to输入/etc/postfix/main.cf配置中mydestination的其中一个,如localhost

         再按一下enter就开始握手然后开始传输了

         结果可以通过打印看到是否成功,/var/mail下会有对应用户的mail文件。

         结果图示:


5.再来测试本地连接:

         我们用用testapp.c来发送,首先要先获取此时pc的ip地址,这个地址作为server的地址。

         然后打开smtp/testapp.c进行修改:

         54     +libsmtp_set_environment("127.0.0.1","libsmtp Test", 0, mailsession);

         57     +libsmtp_add_recipient(LIBSMTP_REC_TO, "linjie", mailsession);

         58     +[

         /* libsmtp_add_recipient (LIBSMTP_REC_TO, "", mailsession);

       libsmtp_add_recipient(LIBSMTP_REC_CC, "", mailsession);

       libsmtp_add_recipient(LIBSMTP_REC_CC, "", mailsession);

       libsmtp_add_recipient(LIBSMTP_REC_BCC, "", mailsession);

       libsmtp_add_recipient(LIBSMTP_REC_BCC, "", mailsession);

         */

         63     +]

         65     +if(libsmtp_connect ("192.168.0.10",0,0,mailsession))

         192.168.0.10是本机ip

         保存退出并且编译,这个编译要自己使用编译命令了:

         gcc testapp.c -I/usr/local/smtp/include-L/usr/local/smtp/lib -lsmtp `pkg-config --cflags glib-2.0` `pkg-config --libsglib-2.0` -o testapp

         结果截图:


         如果测试结果都是失败,可以用telnet127.0.0.1 25或telnet 192.168.0.10 25进行直接的交互测试。

 

五、小结:

         smtp for arm放到下篇讲解吧^ ^ 。今天学习了邮件服务中的一些基础,smtp协议还有很多功能,这个以后应用到了再仔细看吧,有自由软件真是太好了,我这种战5渣可以从源码中学到很多技巧,也很容易看清楚协议的原貌,希望我以后也能为之做出贡献。

上一页  [1] [2] 

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    maven如何加自定义的包
    redhat 2.6 (santigo 5.6) vsftp
    shell如何实现自动填写操作执行下
    linux shell 文件配置sh:color:
    shell script语法一定要加path吗
    SecureCRT如何访问虚拟机vmWare中
    C#如何读取WINDOWS的放大系数
    cximge的图如何存入数据库并提取
    DBGRID控件显示查询结果文本类型
    TChart控件如何把表中右边的系列
    redhat 2.6 (santigo 5.6) vsftp
    shell如何实现自动填写操作执行下
    linux shell 文件配置sh:color:
    shell script语法一定要加path吗
    SecureCRT如何访问虚拟机vmWare中
    C#如何读取WINDOWS的放大系数
    cximge的图如何存入数据库并提取
    DBGRID控件显示查询结果文本类型
    TChart控件如何把表中右边的系列
    fastreport提示没有找到fr_class
    怎么用sed或awk来进行替换XM
    三星4412开发板uboot烧写板子
    redhat 2.6 (santigo 5.6) v
    shell如何实现自动填写操作执
    linux shell 文件配置sh:co
    shell script语法一定要加pa
    Fedora17 内核版本和uname -
    kvm虚拟机网卡闪断
    kvm虚拟机网卡闪断
    #pragma pack(1) 取消默认对
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |