亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? smtp.c

?? uip1.0原代碼和用戶手冊,適用于單片機嵌入tcp/ip協議棧.
?? C
字號:
/** * \addtogroup apps * @{ *//** * \defgroup smtp SMTP E-mail sender * @{ * * The Simple Mail Transfer Protocol (SMTP) as defined by RFC821 is * the standard way of sending and transfering e-mail on the * Internet. This simple example implementation is intended as an * example of how to implement protocols in uIP, and is able to send * out e-mail but has not been extensively tested. *//** * \file * SMTP example implementation * \author Adam Dunkels <adam@dunkels.com> *//* * Copyright (c) 2004, Adam Dunkels. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the Institute nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * This file is part of the uIP TCP/IP stack. * * Author: Adam Dunkels <adam@sics.se> * * $Id: smtp.c,v 1.4 2006/06/11 21:46:37 adam Exp $ */#include "smtp.h"#include "smtp-strings.h"#include "psock.h"#include "uip.h"#include <string.h>static struct smtp_state s;static char *localhostname;static uip_ipaddr_t smtpserver;#define ISO_nl 0x0a#define ISO_cr 0x0d#define ISO_period 0x2e#define ISO_2  0x32#define ISO_3  0x33#define ISO_4  0x34#define ISO_5  0x35/*---------------------------------------------------------------------------*/staticPT_THREAD(smtp_thread(void)){  PSOCK_BEGIN(&s.psock);  PSOCK_READTO(&s.psock, ISO_nl);     if(strncmp(s.inputbuffer, smtp_220, 3) != 0) {    PSOCK_CLOSE(&s.psock);    smtp_done(2);    PSOCK_EXIT(&s.psock);  }    PSOCK_SEND_STR(&s.psock, (char *)smtp_helo);  PSOCK_SEND_STR(&s.psock, localhostname);  PSOCK_SEND_STR(&s.psock, (char *)smtp_crnl);  PSOCK_READTO(&s.psock, ISO_nl);    if(s.inputbuffer[0] != ISO_2) {    PSOCK_CLOSE(&s.psock);    smtp_done(3);    PSOCK_EXIT(&s.psock);  }  PSOCK_SEND_STR(&s.psock, (char *)smtp_mail_from);  PSOCK_SEND_STR(&s.psock, s.from);  PSOCK_SEND_STR(&s.psock, (char *)smtp_crnl);  PSOCK_READTO(&s.psock, ISO_nl);    if(s.inputbuffer[0] != ISO_2) {    PSOCK_CLOSE(&s.psock);    smtp_done(4);    PSOCK_EXIT(&s.psock);  }  PSOCK_SEND_STR(&s.psock, (char *)smtp_rcpt_to);  PSOCK_SEND_STR(&s.psock, s.to);  PSOCK_SEND_STR(&s.psock, (char *)smtp_crnl);  PSOCK_READTO(&s.psock, ISO_nl);    if(s.inputbuffer[0] != ISO_2) {    PSOCK_CLOSE(&s.psock);    smtp_done(5);    PSOCK_EXIT(&s.psock);  }    if(s.cc != 0) {    PSOCK_SEND_STR(&s.psock, (char *)smtp_rcpt_to);    PSOCK_SEND_STR(&s.psock, s.cc);    PSOCK_SEND_STR(&s.psock, (char *)smtp_crnl);    PSOCK_READTO(&s.psock, ISO_nl);      if(s.inputbuffer[0] != ISO_2) {      PSOCK_CLOSE(&s.psock);      smtp_done(6);      PSOCK_EXIT(&s.psock);    }  }    PSOCK_SEND_STR(&s.psock, (char *)smtp_data);    PSOCK_READTO(&s.psock, ISO_nl);    if(s.inputbuffer[0] != ISO_3) {    PSOCK_CLOSE(&s.psock);    smtp_done(7);    PSOCK_EXIT(&s.psock);  }  PSOCK_SEND_STR(&s.psock, (char *)smtp_to);  PSOCK_SEND_STR(&s.psock, s.to);  PSOCK_SEND_STR(&s.psock, (char *)smtp_crnl);    if(s.cc != 0) {    PSOCK_SEND_STR(&s.psock, (char *)smtp_cc);    PSOCK_SEND_STR(&s.psock, s.cc);    PSOCK_SEND_STR(&s.psock, (char *)smtp_crnl);  }    PSOCK_SEND_STR(&s.psock, (char *)smtp_from);  PSOCK_SEND_STR(&s.psock, s.from);  PSOCK_SEND_STR(&s.psock, (char *)smtp_crnl);    PSOCK_SEND_STR(&s.psock, (char *)smtp_subject);  PSOCK_SEND_STR(&s.psock, s.subject);  PSOCK_SEND_STR(&s.psock, (char *)smtp_crnl);  PSOCK_SEND(&s.psock, s.msg, s.msglen);    PSOCK_SEND_STR(&s.psock, (char *)smtp_crnlperiodcrnl);  PSOCK_READTO(&s.psock, ISO_nl);  if(s.inputbuffer[0] != ISO_2) {    PSOCK_CLOSE(&s.psock);    smtp_done(8);    PSOCK_EXIT(&s.psock);  }  PSOCK_SEND_STR(&s.psock, (char *)smtp_quit);  smtp_done(SMTP_ERR_OK);  PSOCK_END(&s.psock);}/*---------------------------------------------------------------------------*/voidsmtp_appcall(void){  if(uip_closed()) {    s.connected = 0;    return;  }  if(uip_aborted() || uip_timedout()) {    s.connected = 0;    smtp_done(1);    return;  }  smtp_thread();}/*---------------------------------------------------------------------------*//** * Specificy an SMTP server and hostname. * * This function is used to configure the SMTP module with an SMTP * server and the hostname of the host. * * \param lhostname The hostname of the uIP host. * * \param server A pointer to a 4-byte array representing the IP * address of the SMTP server to be configured. */voidsmtp_configure(char *lhostname, void *server){  localhostname = lhostname;  uip_ipaddr_copy(smtpserver, server);}/*---------------------------------------------------------------------------*//** * Send an e-mail. * * \param to The e-mail address of the receiver of the e-mail. * \param cc The e-mail address of the CC: receivers of the e-mail. * \param from The e-mail address of the sender of the e-mail. * \param subject The subject of the e-mail. * \param msg The actual e-mail message. * \param msglen The length of the e-mail message. */unsigned charsmtp_send(char *to, char *cc, char *from,	  char *subject, char *msg, u16_t msglen){  struct uip_conn *conn;  conn = uip_connect(smtpserver, HTONS(25));  if(conn == NULL) {    return 0;  }  s.connected = 1;  s.to = to;  s.cc = cc;  s.from = from;  s.subject = subject;  s.msg = msg;  s.msglen = msglen;  PSOCK_INIT(&s.psock, s.inputbuffer, sizeof(s.inputbuffer));    return 1;}/*---------------------------------------------------------------------------*/voidsmtp_init(void){  s.connected = 0;}/*---------------------------------------------------------------------------*//** @} *//** @} */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区在线观看| 国产91丝袜在线播放| 亚洲精品视频观看| 亚洲人精品一区| 国产精品午夜久久| 自拍视频在线观看一区二区| 国产精品素人视频| 亚洲精选在线视频| 一级做a爱片久久| 午夜视频在线观看一区二区三区| 亚洲成av人综合在线观看| 三级久久三级久久| 免费欧美在线视频| 国产一区二区三区av电影| 国产suv精品一区二区三区| 成人午夜精品在线| 日本高清不卡aⅴ免费网站| 欧美唯美清纯偷拍| 欧美一级免费观看| 久久久久久一二三区| 中文字幕一区二区三区四区不卡| 一区二区在线免费| 免费久久99精品国产| 国产成人免费视频网站| 91丨porny丨在线| 欧美日韩在线精品一区二区三区激情| 欧美日韩一本到| 欧美tickling挠脚心丨vk| 日本一区二区三区在线不卡| 一区二区三区免费在线观看| 蜜臀精品一区二区三区在线观看| 成人午夜电影久久影院| 欧美日韩国产高清一区| 久久久高清一区二区三区| 亚洲制服欧美中文字幕中文字幕| 久久精品国产999大香线蕉| av成人老司机| 日韩一区二区三区精品视频| 亚洲视频一二三| 激情深爱一区二区| 色香蕉久久蜜桃| 精品动漫一区二区三区在线观看| 日韩一区欧美一区| 国内欧美视频一区二区| 在线精品视频一区二区三四| 久久精品水蜜桃av综合天堂| 亚洲一卡二卡三卡四卡| 成人夜色视频网站在线观看| 欧美一级二级在线观看| 亚洲一区二区黄色| 99久久精品国产麻豆演员表| 久久人人超碰精品| 青青草国产成人99久久| 欧美午夜免费电影| 亚洲女性喷水在线观看一区| 国产在线播精品第三| 制服丝袜av成人在线看| 亚洲在线免费播放| 色综合一区二区三区| 国产精品日日摸夜夜摸av| 久久疯狂做爰流白浆xx| 91精品婷婷国产综合久久竹菊| 亚洲欧美一区二区三区国产精品 | 色哟哟国产精品免费观看| 精品毛片乱码1区2区3区| 日韩高清不卡一区二区| 欧美综合一区二区| 亚洲免费观看高清完整版在线观看 | 久久久国产精华| 免费观看日韩电影| 91精品啪在线观看国产60岁| 午夜精品久久久久久久99樱桃| 色综合久久中文综合久久牛| 亚洲欧美日韩久久| 91成人免费在线| 亚洲国产精品一区二区久久恐怖片 | 亚洲在线观看免费视频| 一道本成人在线| 亚洲欧美日韩综合aⅴ视频| 成人av动漫网站| 亚洲三级理论片| 91成人免费电影| 婷婷综合在线观看| 日韩免费福利电影在线观看| 韩国一区二区视频| 欧美国产成人精品| 色老汉一区二区三区| 午夜视频久久久久久| 日韩午夜激情av| 国产传媒欧美日韩成人| 国产精品久线观看视频| 日本高清免费不卡视频| 天堂久久久久va久久久久| 亚洲三级在线观看| www.日韩精品| 亚洲一区二区不卡免费| 欧美一卡二卡三卡四卡| 国产在线精品一区二区三区不卡| 久久久久免费观看| 色www精品视频在线观看| 亚洲成av人在线观看| 2021国产精品久久精品| 成人a区在线观看| 夜色激情一区二区| 欧美tickle裸体挠脚心vk| av一区二区不卡| 五月综合激情婷婷六月色窝| 国产亚洲一区二区三区四区| 色婷婷综合久久久久中文 | 国产精品久久99| 日本高清不卡一区| 精品一区中文字幕| 亚洲最大成人综合| 国产亚洲欧美日韩日本| 欧美怡红院视频| 福利一区在线观看| 视频一区二区国产| 亚洲欧美在线aaa| 精品99999| 欧美日韩国产综合久久 | 日韩电影在线免费看| 国产欧美一区二区精品久导航| 欧美日韩免费视频| 成人精品鲁一区一区二区| 日韩精品五月天| 亚洲免费av在线| 中文无字幕一区二区三区 | 亚洲成人免费av| 亚洲国产精品激情在线观看| 91精品一区二区三区久久久久久 | 另类欧美日韩国产在线| 樱花草国产18久久久久| 欧美激情艳妇裸体舞| 精品不卡在线视频| 6080yy午夜一二三区久久| 91无套直看片红桃| 成人黄页毛片网站| 国产精品99久久久久久有的能看 | 欧美国产精品专区| 久久先锋影音av鲁色资源| 91精选在线观看| 6080国产精品一区二区| 欧美日韩亚洲另类| 色先锋资源久久综合| 97久久精品人人做人人爽 | 日韩电影在线一区二区| 亚洲国产中文字幕在线视频综合 | 中文字幕亚洲电影| 国产拍欧美日韩视频二区| 精品sm在线观看| 2022国产精品视频| 久久久久99精品一区| 久久亚洲欧美国产精品乐播| 欧美电视剧免费全集观看| 欧美一区二区三区在线| 日韩一区二区精品| 精品国产青草久久久久福利| 久久综合久色欧美综合狠狠| 欧美电影免费观看高清完整版| 欧美大片在线观看一区| 久久久综合激的五月天| 国产欧美久久久精品影院| 欧美激情一区二区三区全黄 | 日韩一级片网站| 国产午夜精品一区二区三区四区 | 另类人妖一区二区av| 欧美精品黑人性xxxx| 波多野结衣一区二区三区| 懂色av一区二区三区免费观看| 粉嫩一区二区三区在线看| av在线不卡免费看| 欧美日韩一区久久| 日韩欧美一级精品久久| 久久精品视频网| 亚洲免费观看高清完整| 午夜视频在线观看一区二区 | 亚洲一区二区三区四区在线免费观看 | 精品一区二区三区的国产在线播放| 美女在线视频一区| 成人免费高清在线| 欧美日韩视频专区在线播放| 精品国产伦一区二区三区观看体验| 久久久精品日韩欧美| 亚洲欧美一区二区久久| 老司机精品视频导航| 99视频一区二区| 日韩午夜激情视频| 亚洲三级视频在线观看| 麻豆视频一区二区| 99久久精品情趣| 在线播放/欧美激情| 制服丝袜亚洲网站| 国产精品毛片久久久久久| 婷婷久久综合九色国产成人| 国产精品影视在线观看| 欧美综合久久久| 欧美激情自拍偷拍| 免费成人性网站| 欧美自拍丝袜亚洲| 中文字幕欧美国产|