일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- C# sprintf
- IndexOutOfRangeException
- 정처기 실기
- HeidiSQL
- url 파싱
- 정처기
- c# 클로저
- WinForms
- MariaDB
- multipart/form-data
- MFC
- c# for
- C#
- Telerik
- 정보처리기사 실기
- POST
- git commit vi
- VisualStudio2019
- url파싱
- Git
- wss 파싱
- drop
- restapi
- postgresql
- 프로토타입
- System.IndexOutOfRangeException
- 정보처리기사
- create
- show
- UI
- Today
- Total
달짱달짱
[CSmtp] smtp로 email 보내기 구현 본문
1. SMTP 소스 다운로드
https://www.codeproject.com/Articles/98355/SMTP-Client-with-SSL-TLS
SMTP Client with SSL/TLS
C++ SMTP client, support SSL and TLS encrypted connection to SMTP server
www.codeproject.com
2. Csmtp.sln 파일을 열어 모두 로드
3. Openssl 다운로드 및 stmp 의 openssl 을 최신버전으로 변경
윈도우 용 OpenSSL 라이브러리 사용하기(feat. Visual Studio 2015)
1. 들어가는 말 본 포스트에서는 Visual Studio 2015환경에서 윈도우 용 OpenSSL 라이브러리를 사용...
blog.naver.com
4. .lib 파일을 Openssl 최신버전에 있는 정상 작동 되는 것으로 변경 (ssleay.lib , libeay.lib)
5. 64비트로 변경하려면, 해당 lib의 64비트 버전 다운로드
6. 해당 경로 추가
7. main.cpp 수정
#include "CSmtp.h"
#include <iostream>
int main()
{
bool bError = false;
try
{
CSmtp mail;
mail.SetSMTPServer("smtp.domain.com",25); // smtp 서버
mail.SetLogin("***"); // 보내는 사람의 login 할 아이디
mail.SetPassword("***"); // 보내는 사람의 login password
mail.SetSenderName("User"); // 보내는 사람 이름
mail.SetSenderMail("user@domain.com"); // 보내는 사람 이메일에 표시할 이메일
mail.SetReplyTo("user@domain.com"); // 답장 받을 이메일
mail.SetSubject("The message"); // 메일의 제목
mail.AddRecipient("friend@domain2.com"); // 받는 사람 이메일 (여러명 추가가능)
mail.SetXPriority(XPRIORITY_NORMAL);
mail.SetXMailer("The Bat! (v3.02) Professional");
// 메일 텍스트 //
mail.AddMsgLine("Hello,");
mail.AddMsgLine("");
mail.AddMsgLine("How are you today?");
mail.AddMsgLine("");
mail.AddMsgLine("Regards");
mail.AddMsgLine("--");
mail.AddMsgLine("User");
// 메일 파일 첨부 //
mail.AddAttachment("c:\\test.exe");
mail.AddAttachment("c:\\test2.jpg");
mail.Send();
}
catch(ECSmtp e)
{
std::cout << "Error: " << e.GetErrorText().c_str() << ".\n";
bError = true;
}
if(!bError) // 메일이 정상적으로 보내졌을 때
{
std::cout << "Mail was send successfully.\n";
return 0;
}
else
return 1;
}
※ 참고 ※
https://github.com/cro1002/croSmtp/tree/forUTF8
cro1002/croSmtp
smtp를 이용한 메일전송. Contribute to cro1002/croSmtp development by creating an account on GitHub.
github.com
♣ smtp로 email을 성공적으로 보내기 위해서 base64, CSmtp, md5 의 .cpp 과 .h 가 필요하다.
'C,C++' 카테고리의 다른 글
[map, vector] map 의 value 로 vector 사용하기 (0) | 2019.11.28 |
---|