Mailer
Loading...
Searching...
No Matches
email_sender.h
1#ifndef _EMAIL_SENDER_H_
2#define _EMAIL_SENDER_H_
3
4#include <string>
5#include <vector>
6#include <utility>
7
8#include "curl/curl.h"
9
12{
13public:
14 EmailSender(const std::string &smtp_server,
15 const int smtp_port,
16 const std::string &protocol,
17 const std::string &from_email,
18 const std::string &password,
19 const std::string &from_name = "");
21 void setEmailContent(const std::string &subject = "",
22 const std::string &body = ""); // body can be html format or plain text
23 void addRecvEmailAddr(const std::string &email_addr, const std::string &name = "");
24 void addCcEmailAddr(const std::string &email_addr, const std::string &name = "");
25 void addAttachment(const std::string &filename);
26 int send();
27
28private:
29 std::string m_smtp_url;
30 std::pair<std::string, std::string> m_from;
31 std::string m_password;
32 std::vector<std::pair<std::string, std::string>> m_recvs; // list of (email,name)
33 std::vector<std::pair<std::string, std::string>> m_ccs; // list of (email,name)
34 std::string m_email_subject;
35 std::string m_email_body;
36 std::vector<std::string> m_attachments; // list of filename
37};
38
39#endif /* _EMAIL_SENDER_H_ */
EmailSender class.
Definition email_sender.h:12
void addCcEmailAddr(const std::string &email_addr, const std::string &name="")
Add CC (copy) to the list of copy receivers.
Definition email_sender.cpp:59
int send()
Send an e-mail.
Definition email_sender.cpp:76
void addRecvEmailAddr(const std::string &email_addr, const std::string &name="")
Add e-mail receiver to receivers list.
Definition email_sender.cpp:50
EmailSender(const std::string &smtp_server, const int smtp_port, const std::string &protocol, const std::string &from_email, const std::string &password, const std::string &from_name="")
EmailSender constructor.
Definition email_sender.cpp:13
void setEmailContent(const std::string &subject="", const std::string &body="")
Setter for e-mail subject and body.
Definition email_sender.cpp:39
void addAttachment(const std::string &filename)
Add an attachment.
Definition email_sender.cpp:67
~EmailSender()
EmailSender destructor.
Definition email_sender.cpp:28