请问如何用IdSMTP 发送附件

zjlxl 2004-03-30 07:33:21
我要用IdSMTP的验证功能,但是它如何发送附件?
NMSMTP 可以发送附件,但不知道如何进行验证(大多数)

谢谢各位
...全文
229 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
joinboy211 2004-06-09
  • 打赏
  • 举报
回复
关注
rzh 2004-05-14
  • 打赏
  • 举报
回复
int intIndex;

//IdMsgSend do
//{begin
IdMsgSend->Body->Assign(Memo1->Lines);
IdMsgSend->From->Text = Edit_EmailAddress->Text;
IdMsgSend->Recipients->EMailAddresses = edtTo->Text; //{ To: header }
IdMsgSend->Subject = edtSubject->Text; //{ Subject: header }
IdMsgSend->Priority = TIdMessagePriority(cboPriority->ItemIndex);// { Message Priority }
IdMsgSend->CCList->EMailAddresses = edtCC->Text;// {CC}
IdMsgSend->BccList->EMailAddresses = edtBCC->Text; //{BBC}
if (chkReturnReciept->Checked)
{//{We set the recipient to the From E-Mail address }
IdMsgSend->ReceiptRecipient->Text = IdMsgSend->From->Text;
}
else
{// {indicate that there is no receipt recipiant}
IdMsgSend->ReceiptRecipient->Text = "";
}
//end;}
int SmtpAuthType=cboAuthType->ItemIndex;
switch (SmtpAuthType)
{
// {authentication settings}
case 0:
SMTP->AuthenticationType = atNone;
break;
case 1:
SMTP->AuthenticationType = atLogin; //{Simple Login}
break;
};
SMTP->UserId = Edit_UserId->Text;
SMTP->Password = Edit_Password->Text;

// {General setup}
SMTP->Host = Edit_SMTPHost->Text;
SMTP->Port = StrToInt(Edit_SMTPPort->Text.Trim());

// {now we send the message}
SMTP->Connect();
try
{
SMTP->Send(IdMsgSend);
}
catch(...)
{
}
SMTP->Disconnect();
cuiyu616ok 2004-04-01
  • 打赏
  • 举报
回复
void __fastcall Tfrm_send::tbEditHeadClick(TObject *Sender)
{
if (Edit2->Text=="")
{
Application->MessageBox("请输入收件人地址!","提示",MB_OK+MB_ICONASTERISK);
return;
}
if (mail_address==""||mail_smtp==""||mail_accounts==""||mail_pass=="")
{
Application->MessageBox("请先进行邮箱帐号设置!","提示",MB_OK+MB_ICONASTERISK);
return;
}

try
{
IdMessage1->Body->Assign(Memo1->Lines); //内容

IdMessage1->Subject=Edit1->Text; //标题

// IdMessage1->From->Address="yu.hermit@sina.com"; //发件人地址
IdMessage1->From->Address=mail_address; //发件人地址
// IdMessage1->From->Name="yuyu6906"; //发件人
IdMessage1->From->Name=mail_user; //发件人
IdMessage1->Recipients->Clear();
IdMessage1->Recipients->Add();
IdMessage1->Recipients->Items[0]->Address=Edit2->Text;//收件人
IdMessage1->Recipients->Items[0]->Name="";

IdMessage1->CCList->EMailAddresses = Edit4->Text;// 抄送
// IdMessage1->BccList->EMailAddresses = cBcc; //暗抄

if (Edit3->Items->Count>0) //发送附件
{
for(int i=0;i<Edit3->Items->Count;i++)
{
IdMessage1->MessageParts->Add();
new TIdAttachment(IdMessage1->MessageParts,Edit3->Items->Strings[i]);
}
}

// IdSMTP1->Host="smtp.sina.com.cn";
IdSMTP1->Host=mail_smtp;
// IdSMTP1->Username="yu.hermit"; //邮箱帐号
IdSMTP1->Username=mail_accounts; //邮箱帐号
// IdSMTP1->Password="";
IdSMTP1->Password=mail_pass;

Animate1->Visible=true;
Animate1->Active=true;

IdSMTP1->Connect(0);

IdSMTP1->Send(IdMessage1);
IdSMTP1->Disconnect();
Application->MessageBox("发送成功!","提示",MB_OK+MB_ICONASTERISK);
Edit1->Text="";
Edit2->Text="";
Edit4->Text="";
Memo1->Lines->Clear();
Memo1->Lines->Add("您好:");
Memo1->Lines->Add("");
Memo1->Lines->Add("");
Memo1->Lines->Add("");
Memo1->Lines->Add(" 致");
Memo1->Lines->Add("礼!");
Memo1->Lines->Add(" "+Date());
Edit3->Items->Clear();
Edit2->SetFocus();

Animate1->Visible=false;
Animate1->Active=false;
}
catch(...)
{
IdSMTP1->Disconnect();
Application->MessageBox("发送失败!\n请确认您已经连接到互联网上!","提示",MB_OK+MB_ICONASTERISK);
// ShowMessage("发送失败!\n请确认您已经连接到互联网上");
Animate1->Visible=false;
Animate1->Active=false;
}

}
jevin8011 2004-03-31
  • 打赏
  • 举报
回复
关注

1,317

社区成员

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

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