社区
工具平台和程序库
帖子详情
关于使用vc发送邮件的问题
rsp19801226
2009-06-01 05:47:56
我试图使用smtp发送邮件,但是却连csocket都连接不上。崩溃了,哪位大哥大姐来救我啊,我没做过网络。最好详细解释一下。顺便讲讲csocket的用法。
...全文
204
11
打赏
收藏
关于使用vc发送邮件的问题
我试图使用smtp发送邮件,但是却连csocket都连接不上。崩溃了,哪位大哥大姐来救我啊,我没做过网络。最好详细解释一下。顺便讲讲csocket的用法。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
goodname
2009-06-04
打赏
举报
回复
MAPI_E_FAILURE == 2
One or more unspecified errors occurred. No message was sent.
goodname
2009-06-04
打赏
举报
回复
MAPI_E_AMBIGUOUS_RECIPIENT == 21
The recipient requested has not been or could not be resolved to a unique address list entry.
chary8088
2009-06-04
打赏
举报
回复
http://www.skycn.com/soft/47795.html
rsp19801226
2009-06-04
打赏
举报
回复
怎么都没人理我呢
rsp19801226
2009-06-02
打赏
举报
回复
感谢大家,我尝试用MAPI,代码如下:
void CTimedsendEmailDlg::OnBnClickedOk()
{
// TODO: Add your control notification handler code here
//OnOK();
HINSTANCE hInstMail;
hInstMail = ::LoadLibrary ( _T("MAPI32.DLL") );
if ( hInstMail == NULL )
{
// 错误处理
return;
}
ULONG (PASCAL *lpfnMAPISendMail) (LHANDLE lhSession,
ULONG ulUIParam, lpMapiMessage lpMessage,
FLAGS flFlags, ULONG ulReserved);
ULONG (PASCAL *lpfnMAPIResolveName) (LHANDLE lhSession,
ULONG ulUIParam, LPTSTR lpszName,
FLAGS ulFlags, ULONG ulReserved,
lpMapiRecipDesc FAR *lppRecip);
ULONG (FAR PASCAL *lpfnMAPILogon)(ULONG ulUIParam,
LPSTR lpszProfileName, LPSTR lpszPassword,
FLAGS flFlags, ULONG ulReserved,
LPLHANDLE lplhSession);
ULONG (FAR PASCAL *lpfnMAPILogoff)(LHANDLE lhSession,
ULONG ulUIParam, FLAGS flFlags,ULONG ulReserved);
ULONG (FAR PASCAL *lpfnMAPIFreeBuffer)(LPVOID lpBuffer);
ULONG (FAR PASCAL *lpfnMAPIAddress)(LHANDLE lhSession,
ULONG ulUIParam, LPSTR lpszCaption,
ULONG nEditFields, LPSTR lpszLabels,
ULONG nRecips, lpMapiRecipDesc lpRecips,
FLAGS flFlags, ULONG ulReserved,
LPULONG lpnNewRecips,
lpMapiRecipDesc FAR *lppNewRecips);
ULONG (FAR PASCAL *lpfnMAPIFindNext)(LHANDLE lhSession,
ULONG ulUIParam, LPSTR lpszMessageType,
LPSTR lpszSeedMessageID, FLAGS flFlags,
ULONG ulReserved, LPSTR lpszMessageID);
ULONG (FAR PASCAL *lpfnMAPIReadMail)(LHANDLE lhSession,
ULONG ulUIParam, LPSTR lpszMessageID,
FLAGS flFlags, ULONG ulReserved,
lpMapiMessage FAR *lppMessage);
(FARPROC&) lpfnMAPISendMail = GetProcAddress(hInstMail,
"MAPISendMail");
(FARPROC&) lpfnMAPIResolveName = GetProcAddress(
hInstMail, "MAPIResolveName");
(FARPROC&) lpfnMAPILogon = GetProcAddress(hInstMail,
"MAPILogon");
(FARPROC&) lpfnMAPILogoff = GetProcAddress(hInstMail,
"MAPILogoff");
(FARPROC&) lpfnMAPIFreeBuffer = GetProcAddress(
hInstMail, "MAPIFreeBuffer");
(FARPROC&) lpfnMAPIAddress = GetProcAddress(hInstMail,
"MAPIAddress");
(FARPROC&) lpfnMAPIFindNext = GetProcAddress(hInstMail,
"MAPIFindNext");
(FARPROC&) lpfnMAPIReadMail = GetProcAddress(hInstMail,
"MAPIReadMail");
LHANDLE lhSession;
ULONG lResult = lpfnMAPILogon( 0, "global\\cninpire",
"密码", MAPI_LOGON_UI , 0, //用new session,lResult 不为0
&lhSession);
if (lResult != SUCCESS_SUCCESS)
//SUCCESS_SUCCESS在MAPI.H中被定义
{
// 错误处理
return;
}
MapiMessage message;
memset(&message, 0, sizeof(message));
message.ulReserved = 0;
message.lpszMessageType = NULL;
char subject[512] = "happy everyday";
message.lpszSubject = subject;
char text[5000] = "maria happy everyday";
message.lpszNoteText = text;
message.flFlags = MAPI_SENT;
message.lpOriginator = NULL;
message.nRecipCount = 1;
lResult = lpfnMAPIResolveName(lhSession, 0, _T("邮箱@yahoo.com.cn"), //这个地方返回21
0, 0, &message.lpRecips);
lResult = lpfnMAPISendMail( lhSession, 0, &message, 0, 0 ); //这个地方返回2
lpfnMAPIFreeBuffer(message.lpRecips);
}
无法发送邮件,我是在域里面,可能有些限制,但是不太明白登陆lpfnMAPILogon已经成功,但是却不能发送邮件,不知道是为什么,请高手指教!
oyljerry
2009-06-01
打赏
举报
回复
看是不是邮件服务器没有返回,以及你是否通过验证等,很多原因,自己分析一下先
blingpro
2009-06-01
打赏
举报
回复
抓包工具抓一下包,看一下怎么封装的
最好还是研究一下smtp协议
na_he
2009-06-01
打赏
举报
回复
哦,一两句将不清楚了
Jurang
2009-06-01
打赏
举报
回复
好好研究一下smtp协议
skyxie
2009-06-01
打赏
举报
回复
或者这个,非COM的
http://www.codeproject.com/KB/tips/CSMTPConnection2.aspx
skyxie
2009-06-01
打赏
举报
回复
直接用socket发邮件,你自己还要做邮件协议的封装,麻烦啊~
看看这个是不是你想要的
Sending Email using MAPI - A COM DLL
http://www.codeproject.com/KB/IP/email.aspx?display=Print
简邮邮件组件 调用一个函数就能实现用VB或
VC
发送邮件
你是不是一直为了
VC
发送邮件
或VB
发送邮件
发愁啊,有了它,简邮邮件发送组件,你就可以轻松的像调用windows api那样来实现或
VC
发送邮件
了。内有详细的VB及
VC
调用源代码。 本组件(smtp.dll)通过smtp协议
发送邮件
(严格...
VC
使用
的
发送邮件
类,
使用
SMTP协议
最近需要一个自动
发送邮件
的控制类,把
发送邮件
独立成一个类。供新手下载学习吧。 应该没有太多的技术含量。熟悉SMTP协议就可以完成了。
VC
SMTP邮件发送程序
VC
SMTP邮件发送程序,是在VS2008上开发的,不过里面有核心代码SMTP.h和SMTP.cpp也可以很方便地在
VC
6.0中
使用
VC
邮件收发客户端 发Email 接收邮件等.rar
,与Email接收和发送相关的程序,用这个程序可接收指定邮箱中的邮件,也可以
发送邮件
,代码中涉及到了POP3和SMTP相关的
使用
技巧,在主代码文件 MyEmailClientDlg.cpp中有相应的注释,是你学习
VC
收发邮件的一个参考...
VC
环境下jmail组件
发送邮件
包括完整的工程,在visual C++ 6.0 编译通过。实际
使用
时候要注意局域网和杀毒软件的相关设置,最好关闭防火墙。
使用
jmail组件,在
vc
环境下可以实现发送email。
工具平台和程序库
24,854
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章