smtp&pop3认证邮件发送接收
2011-03-29 20:25
344 查看
smtp演示
http://www.faqs.org/rfcs/rfc821.html
pop3演示
http://www.rfc-editor.org/rfc/rfc1939.txt
http://www.faqs.org/rfcs/rfc821.html
WSADATA wsa; WSAStartup(MAKEWORD(2,2), &wsa); SOCKET sock = socket(AF_INET, SOCK_STREAM, 0); if (sock == INVALID_SOCKET) { return -1; } struct sockaddr_in addr; addr.sin_addr.s_addr = inet_addr(server); addr.sin_family = AF_INET; addr.sin_port = htons(port); if (connect(sock, (struct sockaddr *)&addr, sizeof(addr))) { closesocket(sock); return -2; } // ehlo char szBuf [SIZE_4K] = {0}; std::string request = "EHLO "; request += server; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); memset(szBuf, 0, SIZE_4K); recv(sock, szBuf, SIZE_4K, 0); // auth login request = "AUTH LOGIN"; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); memset(szBuf, 0, SIZE_4K); recv(sock, szBuf, SIZE_4K, 0); // =------ request = user; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); recv(sock, szBuf, SIZE_4K, 0); request = pass; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); memset(szBuf, 0, SIZE_4K); recv(sock, szBuf, SIZE_4K, 0); // mail from request = "MAIL FROM "; request += mailfrom; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); memset(szBuf, 0, SIZE_4K); recv(sock, szBuf, SIZE_4K, 0); // rcpt to request = "RCPT TO "; request += rcptto; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); memset(szBuf, 0, SIZE_4K); recv(sock, szBuf, SIZE_4K, 0); // data request = "DATA"; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); memset(szBuf, 0, SIZE_4K); recv(sock, szBuf, SIZE_4K, 0); // =----------- request = "From:"; request += mailfrom; request += HTTP_CRLF; request += "To:"; request += rcptto; request += HTTP_CRLF; request += "Subject:"; request += subject; request += HTTP_CRLF; request += "Cc:"; request += cc; request += HTTP_CRLF; request += HTTP_CRLF; request += body; request += HTTP_CRLF; request += "."; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); memset(szBuf, 0, SIZE_4K); recv(sock, szBuf, SIZE_4K, 0); // noop request = "NOOP"; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); memset(szBuf, 0, SIZE_4K); recv(sock, szBuf, SIZE_4K, 0); // quit request = "QUIT"; request += HTTP_CRLF; send(sock, request.c_str(), request.length(), 0); memset(szBuf, 0, SIZE_4K); recv(sock, szBuf, SIZE_4K, 0); closesocket(sock);
pop3演示
http://www.rfc-editor.org/rfc/rfc1939.txt
相关文章推荐
- SMTP、ESMTP、POP3发送接收邮件
- 邮件接收服务器(pop3)与发送服务器(smtp)大全
- 邮件接收服务器(pop3)与发送服务器(smtp)大全
- PHP+socket+SMTP、POP3协议发送、接收邮件
- 在VB6.0中使用Socket发送带SMTP认证的邮件
- Foxmail接收邮件时,报出"网络操作失败","POP3:****"问题的解决办法
- python之SMTP邮件的发送与接收
- 使用JavaMail发送SMTP认证的邮件给多个收信人
- Log4j发送需SMTP认证邮件的配置方法
- 调整Exchange接收连接器延迟参数解决SMTP代发送邮件问题
- c#发送需要smtp认证的邮件
- 采用SmtpClient方式发送邮件,如果服务器的名字中有中文,会报"在邮件标头中找到无效的字符”"错误
- 邮件发送失败( connection failed,Can't send command to SMTP host,Broken pipe)
- python smtplib发送邮件遇到的认证问题
- 在VB6.0中使用Socket发送带SMTP认证的邮件
- 在VB6.0中使用Socket发送带SMTP认证的邮件
- 在VB6.0中使用Socket发送带SMTP认证的邮件
- 转贴:怎么用java发送邮件一及通过smtp的认证
- Java 邮件发送接收POP3ReceiveServiceTest,SendmailServiceTest示例
- c#发送需要smtp认证的邮件