我在尝试使用 libquickmail 发送电子邮件时收到错误
I get error when i'm trying to send email using libquickmail
当我尝试使用https://sourceforge.net/projects/libquickmail
时我有错误
无法解析SMTP服务器主机名。
#include "quickmail.h"
#pragma comment(lib, "libquickmaillight.dll.a")
int main()
{
quickmail_initialize();
quickmail mailobj = quickmail_create("LOGIN@yandex.ru", "libquickmail test e-mail");
quickmail_set_body(mailobj, "This is a test e-mail.nThis mail was sent using libquickmail.");
const char *errmsg = quickmail_send(mailobj, "smtp.yandex.com", 465, "LOGIN@yandex.ru", "PASSWORD");
if (errmsg != NULL) {
fprintf(stderr, "Error sending e-mail: %sn", errmsg);
}
quickmail_destroy(mailobj);
}
编译器是MSVC14。
我做错了什么?
尝试使用 QuickMail_send_secure 而不是 QuickMail_Send
首先,我看到您正在使用端口465,可能意味着您要使用SSL加密。
要使用SSL加密,您需要使用quickmail_send_secure()
。由于libquickmaillight
不支持加密,因此需要针对libquickmail
链接。
您的错误Unable to resolve SMTP server host name
表示DNS查找错误。确保命令提示符中的ping smtp.yandex.com
在您的系统上工作。
也是完整库和光库之间的差异是完整库使用libcurl。没有构建libquickmaillight
的机会也可能解决您的DNS问题,因为LibCurl可能会更好地查找DNS的东西(例如,当您使用IPv6时)。
我也有同样的问题。Visual Studio 2015 Enterprise。Windows中程序的解决方案是WSASTARTUP:WSASTARTUP函数启动了通过一个过程对Winsock DLL的使用。https://learn.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-winsock-wsastartup
在使用libquickmail之前:
WSADATA data;
WSAStartup(MAKEWORD(2, 2), &data);
.....
和wsacleanup();最后
相关文章:
- 尝试从C++访问 UWP 的电子邮件邮件类会导致"REGDB_E_CLASSNOTREG类未注册"错误
- 如何使HTML5电子邮件验证正则表达式在C++中工作?
- Qt:使用'mailto:'打开用户的电子邮件客户端失败
- 电子邮件地址中的c++smtp服务器主机名
- 如何使用 c++ (curl) 发送电子邮件
- 在端口 587 (TLS) 上使用 CDO 发送电子邮件时出错
- 预览由Microsoft Outlook 对象库生成的电子邮件
- 如果不有效,如何重复用户输入电子邮件
- 使用REGEX进行电子邮件输入验证C
- 如何从 pjsip 发送电子邮件.是否有任何可用于发送电子邮件的默认方法
- 如何在使用 c++/COM 发送时在电子邮件中插入/嵌入图像文件(.png)
- 使用Regex验证电子邮件和电话字段QT
- 带有 TLS v. 1.2 和 SSL v.3 电子邮件客户端的 Boost.Asio 上下文:ssl3 警报意外消息
- 如何发送带有嵌入图片的电子邮件
- 如何提示用户在C++中输入正确的电子邮件地址格式
- 我在尝试使用 libquickmail 发送电子邮件时收到错误
- C 从电子邮件向量中删除
- 在windows错误检查中使用c++向gmail帐户发送电子邮件
- 电子邮件标题显示,dkim=硬失败(测试模式)和dkim=永久错误(坏信号)
- 在 C++ 中发送电子邮件错误