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]
|