如何使用 c++ (curl) 发送电子邮件
Posted
技术标签:
【中文标题】如何使用 c++ (curl) 发送电子邮件【英文标题】:How to send email using c++ (curl) 【发布时间】:2018-12-05 05:50:58 【问题描述】:如何给这封邮件添加主题?
#include <windows.h>
int main(void)
char* command = "curl smtp://smtp.gmail.com:587 -v --mail-from \"SENDER.EMAIL@gmail.com\" --mail-rcpt \"RECEIVER.EMAIL@gmail.com\" --ssl -u SENDER.EMAIL@gmail.com:PASSWORD -T \"ATTACHMENT.FILE\" -k --anyauth";
WinExec(command, SW_HIDE);
return 0;
【问题讨论】:
这不起作用吗?如果有,怎么做? 您可能会通过here获得一些帮助 我的理解是有curl
库可以使用,而不是通过系统命令。
【参考方案1】:
我想向您指出 https://everything.curl.dev/libcurl/libcurl,它描述了 curl 命令的 --libcurl 选项。
当使用--libcurl outfile.c
运行curl 时,它会将示例代码保存到outfile.c
,以演示如何以与curl 命令相同的方式使用libcurl。
我分享这个的原因是为了帮助您了解如何自己了解如何使用 libcurl 做您想做的事情。希望这将有助于回答您以后可能遇到的任何问题。
【讨论】:
【参考方案2】:在cURL中发送带有主题的邮件有两种方法:命令行和来自C++代码。
命令行:
可以在电子邮件数据文本文件“email.txt”中指定主题
curl smtp://mail.example.com --mail-from myself@example.com --mail-rcpt
receiver@example.com --upload-file email.txt
这里是教程:cURL_SMTP_Command_Line
来自 C++ 代码:
在这种情况下,您在 payload_text 中指定主题。
static const char *payload_text[] =
"Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n",
"To: " TO_MAIL "\r\n",
"From: " FROM_MAIL "\r\n",
"Cc: " CC_MAIL "\r\n",
"Message-ID: <dcd7cb36-11db-487a-9f3a-e652a9458efd@"
"rfcpedant.example.org>\r\n",
"Subject: SMTP example message\r\n",
"\r\n", /* empty line to divide headers from body, see RFC5322 */
"The body of the message starts here.\r\n",
"\r\n",
"It could be a lot of lines, could be MIME encoded, whatever.\r\n",
"Check RFC5322.\r\n",
NULL
;
示例如下:cURL_SMTP_From_Code
【讨论】:
以上是关于如何使用 c++ (curl) 发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 CURL 转义部分 JSON POST 请求中的字符?