从c ++代码发送电子邮件

时间:2011-07-06 12:45:38

标签: c++ email visual-c++

我正在制作一个控制台应用程序,当被问到时需要发送电子邮件。我怎么能这样做? 虽然我试过this link但它没有成功,因为你需要额外的软件。 AND 当我真正收到电子邮件时,会有大约10分钟的延迟。这可能是什么问题?

这是运行第一个代码

时显示的对话框

enter image description here

还有其他出路吗?

是否有任何链接可以解释从c ++程序发送电子邮件的步骤,解释代码中使用的函数。

5 个答案:

答案 0 :(得分:4)

尝试VMime

(发送邮件不是语言内置功能,您必须使用某种类型的库。)

答案 1 :(得分:2)

如果您只想在默认邮件代理中打开邮件窗口,请使用ShellExecute

ShellExecute(
  NULL,
  NULL,
  TEXT("mailto:foo@example.com"),
  NULL,
  NULL,
  SW_SHOWNORMAL);

另外:connected topic: C++ SMTP Example

答案 2 :(得分:2)

要发送电子邮件,您可以打开收件人邮件服务器的tcp网络套接字,例如smtpmail.example.com,端口25.

有关Windows套接字编程的详细信息,请参阅http://www.snible.org/winsock/或其他教程。

然后根据SMTP协议将文本写入该套接字:

HELO mymachine_ipaddress_or_dnsname
MAIL FROM:<me@somewhere.net>
DATA

From: <me@somewhere.net>
To: <you@example.com>
Subject: Test message

Hello, greetings.
.
QUIT

然后关闭套接字。实际上,SMTP中没有内置的发件人身份验证...

答案 3 :(得分:1)

libCurl是一个支持SMTP的高度可移植的C / C ++网络库。他们的网站上有a sample

答案 4 :(得分:0)

您可以使用CDO执行此操作。我认为它是通过outlook对象模型来实现的。所以你也不会得到这个警告对话。