每次都得登录网站,打开邮箱才能发送邮件,就想到如何使用程序来自动地发送,而且把这个功能集成到其它的程序中,就可以使功能更加强大。如在程序运行中遇到的错误或事件,就可以通过电子邮件来得到信息。具体代码见资源http://download.youkuaiyun.com/user/sophisticated,不过最近好像不能上传资源了,老提示验证码错误,我会在开通后的第一时间上传的。
发送邮件需要使用SMTP协议,具体可以参考《RFC821 简单邮件传输协议》,感兴趣自己找来看看,这里仅以向邮箱里发送本地IP地址为例,说说其具体操作过程。
SMTP协议的每一条指令都以"/r/n"作为结束标志,所以必须在每一条要发送的指令后加上"/r/n"。
首先是获得本地的IP地址,我在这里也具体说说。要获得本地地址信息,要用到两个函数,【gethostname】和【gethostbyname】,前者获得本机的名称,是个字符串,后者根据其获得本机的地址信息,返回值是一个指向hostent结构的指针,这个结构体具体定义如下(见MSDN):
struct hostent
{
char FAR * h_name;
char FAR * FAR * h_aliases;
short h_addrtype;
short &nbs