基于jwSMTP的C++发送Email的Demo

本文介绍了如何使用jwSMTP库在C++中发送Email,特别是发送HTML格式的邮件。通过下载、编译库并在Windows或Linux上进行配置,展示了发送邮件的基本步骤,包括解决中文乱码问题的方法。还给出了一个简单的代码示例,并列出了一些常见的邮件服务返回代码及其含义。
摘要由CSDN通过智能技术生成

由于业务上存在发送报警邮件的需求,一直想找一个简单易用的发送Email的C++库。


终于找到了,它就是jwSTMP(http://sourceforge.net/projects/jwsmtp/)。


最新的jwSTMP版本(1.32.15)能够跨平台(BSD、Linux和Windows等)的支持以C++代码或者C++库的形式编码发送Email。它可以发送附件、支持多个收件人(最多100个),支持CC(抄送)和BCC(隐藏性抄送);同样的,它也支持以HTML的方式发送邮件。


我们知道发送Email有POP3和SMTP两种方式。目前jwSTMP不支持POP3的方式。但是它提供了MX lookup方式,即直接得到目的地址的邮件交换服务器地址(MX)将邮件发送出去。


现在说说如何使用吧。


下载和编译。请到sourceforge上将它下载下来。如果使用Windows平台,直接点击工程文件即可(缺省是VC6的工程文件,我使用VS2008将工程文件转化也是可以的)然后编译即可;如果使用Linux,请执行通行的三部曲:

./configure
make
make install


代码修改。适合中国人的习惯,我将使用163的邮箱服务展示jwSMTP的用法。

最简单的demo1.cpp文件如下:

#include <iostream>
// 由于头文件所处的位置是jwsmtp-1.32.15\jwsmtp\jwsmtp,所以,需要注意include的路径
#include "jwsmtp/jwsmtp.h"

int main(int argc, char* argv[])
{
   jwsmtp::mailer m("testjwstmp@163.com"/*接收者*/, "testjwstmp@163.com"/*发送者*/, "这里填写邮件标题",
                    "这里填写邮件内容", "smtp.163.com",
                    jwsmtp::mailer::SMTP_PORT, false);

   //经过测试,163支持的auth认证是PLAIN模式
   m.authtype(jwsmtp::mailer::PLAIN);

   //这里输入认证用户名,注意哦,需要是***@163.com的用户名
   m.username("testjwstmp@163.com");
   //这里输入密码
   m.password("******");
   m.send(); // 这里发送邮件,需要注意的是,这里是同步模式哦!
   std ::cout << m.response() << std::endl;//这里返回是否成功,250代表发送邮件成功;
   system("pause");
   return 0;
}


需要注意的是,虽然我在测试时发送在cpp文件中写入中文使用163

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值