当前位置: 首页 > news >正文

html5 js全屏滑动网站源码大型网站建设托管服务

html5 js全屏滑动网站源码,大型网站建设托管服务,网站可以做哪些内容,长沙网站设计制作实验目的 运用各种编程语言实现基于 smtp 协议的 Email 客户端软件。 实验内容 1. 选择合适的编程语言编程实现基于 smtp 协议的 Email 客户端软件。 2. 安装 Email 服务器或选择已有的 Email 服务器,验证自己的 Email 客户端软件是否能进行正常的 Email 收发功…

实验目的

运用各种编程语言实现基于 smtp 协议的 Email 客户端软件。

实验内容

1. 选择合适的编程语言编程实现基于 smtp 协议的 Email 客户端软件。

2. 安装 Email 服务器或选择已有的 Email 服务器,验证自己的 Email 客户端软件是否能进行正常的 Email 收发功能。

实验过程

使用学校地的SMTP服务器做发送,这里操作比较简单,无需授权码,直接使用账号密码登录即可

编写基于smtp的邮件发送客户端,这里调用了Curl库来实现,这个库支持多种通信协议

编写基于pop3的邮件接收客户端(在查询相关资料后,pop3相较于smtp更常用于邮件接收,此处选择pop3来实现更贴近实际情况)

关键代码讲解

smtp邮件发送客户端,主要邮件发送函数,使用了 libcurl 库。首先初始化一个 CURL 句柄,然后设置 SMTP 服务器的地址、发送者的电子邮件地址和密码。接着,函数设置邮件的接收者,构造邮件的内容。函数调用 curl_easy_perform 函数来发送邮件,如果发送失败,会打印出错误信息。最后,函数清理并释放所有使用过的资源。

void sendEmail(  const std::string& smtpServer,   const std::string& from,   const std::vector<std::string>& to,   const std::string& password,   const std::string& subject,   const std::string& body  
) {  CURL *curl;  CURLcode res = CURLE_OK;  struct curl_slist *recipients = NULL;  curl = curl_easy_init();  if(curl) {  curl_easy_setopt(curl, CURLOPT_USERNAME, from.c_str());  curl_easy_setopt(curl, CURLOPT_PASSWORD, password.c_str());  curl_easy_setopt(curl, CURLOPT_URL, smtpServer.c_str());  curl_easy_setopt(curl, CURLOPT_MAIL_FROM, from.c_str());  curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);  curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);  for(const auto& recipient : to) {  recipients = curl_slist_append(recipients, recipient.c_str());  }  curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients);  std::string email = "To: " + to[0] + "\r\n" +  "From: " + from + "\r\n" +  "Subject: " + subject + "\r\n\r\n" +  body;  curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source);  curl_easy_setopt(curl, CURLOPT_READDATA, &email);  res = curl_easy_perform(curl);  if(res != CURLE_OK)  std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;  curl_slist_free_all(recipients);  curl_easy_cleanup(curl);  }  
}  

pop3邮件接收客户端,也是使用libcurl的库进行连接,接收用户名和密码通过pop3方式登录,返回邮件列表

void receiveEmail(const std::string& pop3Server, const std::string& username, const std::string& password) {CURL *curl;CURLcode res = CURLE_OK;curl = curl_easy_init();if(curl) {curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);curl_easy_setopt(curl, CURLOPT_USERNAME, username.c_str());curl_easy_setopt(curl, CURLOPT_PASSWORD, password.c_str());curl_easy_setopt(curl, CURLOPT_URL, pop3Server.c_str());curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);std::string response;curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);res = curl_easy_perform(curl);if(res != CURLE_OK)std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;elsestd::cout << response << std::endl;curl_easy_cleanup(curl);}
}

运行示例

编译运行smtp邮件客户端发送邮件

用户输入信息:发送方邮箱地址/发送方邮箱授权码/接收方邮箱地址/邮件主题/邮件内容,显示发送过程中的日志信息

  • 邮件接受效果(此处示例为群发两封邮件)

POP3客户端接收邮件用户输入信息登录,然后列出所有的邮件

相关代码

BJTU_CS_Learning/computernetwork at main · JJLi0427/BJTU_CS_Learning (github.com)

http://www.yayakq.cn/news/579259/

相关文章:

  • c2c网站开发毕业设计做网站能赚钱
  • 用cms建网站容易吗官方查企业信息的网站
  • 不用fash做的视频网站wordpress 页面平铺
  • 免费网站建设网站优化软件网站建设需求调查
  • 重庆建站服务商优秀广告案例
  • 网站开发报价范围网站建设空间是指什么软件
  • 自己做网站如何销售网站怎么推广效果好一点呢
  • 淘宝客推广网站建设百度云网站建设评审会总结发言
  • 做的网站一定要收录么重庆网捷网站建设技术有限公司
  • 禅城网站建设东莞网站忧化
  • 如何规避电子政务门户网站建设教训培训机构如何招生营销
  • 珠海网站设计学网站建设培训班
  • 平面设计软件下载网站济南比较好的网站开发公司
  • 东莞公司网站建设公司哪家好网站开发转型
  • 那些网站做的非常好看的长春网站建设技术托管
  • 清洁公司网站建设如何进行网站营销
  • 外贸商城网站系统海底捞口碑营销案例
  • 织梦做的网站老是被黑找工作的平台
  • 织梦导航网站模板o2o网站建设资讯
  • 机械网站案例分析上海做网站及推广
  • 深圳网站建设制作网络公司海外广告投放渠道营销
  • 做企业网站找哪家互联网保险和线下保险的优缺点
  • 网站和微信对接pr效果做的好的网站有哪些
  • 想要弄一个网站怎么弄白云区住房和建设水务局网站
  • 网站建设需求方案文档国外地推如何开展
  • wordpress搭电影网站简单的企业网站
  • 大型做网站的公司有哪些网站快速排名案例
  • 北京++网站建设咨询顾问公司网站站内优化方案
  • 织梦企业网站源码广州致峰网站建设
  • 在住房城乡建设部网站上哪里下载规范域名注册查询批量