邮件发送!!!急!!!已搞了四天了!!!!!!

cailiangkuan 2003-06-04 08:27:07
小弟学BCB不久,这几天在弄个邮件发送程序遇到问题!!经夜林箭大虾帮忙,COPY了他给的一段代码,编译通过,程序执行后也没未连接上等提示,密码和邮箱等资料也正确,但
就是收不到邮件。
麻烦各位大哥帮忙看看,或者能提供全部远码了!!
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
static const char Base64Table[64]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
int Base64Encod(char *buftoenc,int bufsize,char *encbuf);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (NMSMTP1->Connected )
{
NMSMTP1->Disconnect();
return;
}
try
{
NMSMTP1->ClearParameters();
NMSMTP1->Host="www.yahoo.com.cn";
NMSMTP1->Port=25;
NMSMTP1->UserID="c_aicai";
NMSMTP1->Connect();
if ( !NMSMTP1->Connected )
{
return;
}
NMSMTP1->PostMessage->FromName="langman";
NMSMTP1->PostMessage->FromAddress="c_aicai@yahoo.com.cn";
NMSMTP1->PostMessage->ToAddress->Add("c_aicai@yahoo.com.cn");
NMSMTP1->PostMessage->Body->Add("alkfkaakga");
NMSMTP1->PostMessage->Subject="The KB Logfile";
NMSMTP1->PostMessage->LocalProgram="project1";
NMSMTP1->SendMail();
::Sleep(2000);
}
catch(...)
{
return;
}
return ;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::NMSMTP1Connect(TObject *Sender)
{
char EncName[64],EncPsw[64];
memset(EncName,0,64);
memset(EncPsw,0,64);
Base64Encod("c_aicai",7,EncName);
Base64Encod("760120",6,EncPsw);
if(NMSMTP1->ReplyNumber==250)
{
NMSMTP1->Transaction("auth login");
}
if(NMSMTP1->ReplyNumber==334)
{
NMSMTP1->Transaction(EncName);
}
if(NMSMTP1->ReplyNumber==334)
{
NMSMTP1->Transaction(EncPsw);
}
}
//---------------------------------------------------------------------------
int Base64Encod(char *buftoenc,int bufsize,char *encbuf)
{
int i=0;
int b64byte[5];
unsigned char *buftemp;

//Allocate space for the temporary string
buftemp=(unsigned char *)malloc(bufsize+2);
strcpy(buftemp,buftoenc);
if (bufsize%3==1)
{
buftemp[bufsize]='\0';
buftemp[bufsize+1]='\0';
}
if (bufsize%3==2)buftemp[bufsize]='\0';
while (i<bufsize)
{
b64byte[0]=buftemp[i]>>2;
b64byte[1]=((buftemp[i]&3)<<4)|(buftemp[i+1]>>4);
b64byte[2]=((buftemp[i+1]&0x0F)<<2)|(buftemp[i+2]>>6);
b64byte[3]=buftemp[i+2]&0x3F;
encbuf[i+(i/3)]=Base64Table[b64byte[0]];
encbuf[i+(i/3)+1]=Base64Table[b64byte[1]];
encbuf[i+(i/3)+2]=Base64Table[b64byte[2]];
encbuf[i+(i/3)+3]=Base64Table[b64byte[3]];
i+=3;
}
free(buftemp);
if (bufsize%3==0)return bufsize*8/6;
if (bufsize%3==1)return((bufsize+2)*8/6)-2;
if (bufsize%3==2)return((bufsize+1)*8/6)-1;
return -1;
}
...全文
49 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cailiangkuan 2003-06-04
  • 打赏
  • 举报
回复

我的代码已经编译通过,您所说的单步跟踪是跟踪程序的运行情况吗?怎么跟踪我还没弄过,能详细说说吗?
invalid 2003-06-04
  • 打赏
  • 举报
回复
你可以单步跟踪,163.net的邮箱比较快
cailiangkuan 2003-06-04
  • 打赏
  • 举报
回复
谢谢!
你能先帮我看看代码,然后帮我推荐几个好的邮箱网站吗?
invalid 2003-06-04
  • 打赏
  • 举报
回复
调试方法:
1.试试用outlook 或者foxmail用相同的参数看能否收到.
2.换个邮箱测试一下.

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧