读书人

用TNMSMTP发邮件错在什么地方解决方法

发布时间: 2012-03-15 11:50:38 作者: rapoo

用TNMSMTP发邮件错在什么地方
//////////////////
///Mainform.cpp///
//////////////////

//---------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Mainform.h "
//---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm "
TForm1 *Form1;
//---------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Memo1-> Text= " ";
}
//---------------------------------------

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{//发送邮件
if (NMSMTP1-> Connected)
{
NMSMTP1-> PostMessage-> FromAddress = Edit5-> Text;
NMSMTP1-> PostMessage-> FromName = Edit7-> Text;
NMSMTP1-> PostMessage-> ToAddress-> Text = Edit3-> Text;
NMSMTP1-> PostMessage-> Body-> Text = Memo1-> Text;
NMSMTP1-> PostMessage-> Subject = Edit5-> Text;
NMSMTP1-> PostMessage-> LocalProgram = "SendMail ";
NMSMTP1-> SendMail();
MessageBox(Handle, "邮件发送完成 ", "信息提示 ",MB_OK);
}
else
MessageBox(Handle, "请首先连接发送邮件服务器 ", "信息提示 ",MB_OK);
}
//---------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{ //连接发送邮件服务器
if(NMSMTP1-> Connected)
NMSMTP1-> Disconnect();
else
{
NMSMTP1-> Host = Edit1-> Text;
NMSMTP1-> UserID = Edit2-> Text;
NMSMTP1-> Connect();
}
}
//---------------------------------------

void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{//断开与发送邮件服务器的连接
if(NMSMTP1-> Connected)
NMSMTP1-> Disconnect();
}
//---------------------------------------


////////////////////////////////
/// Mainform.h ///
////////////////////////////////
//---------------------------------------

#ifndef MainformH
#define MainformH
//---------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>


#include <NMsmtp.hpp>
#include <Psock.hpp>
//---------------------------------------
class TForm1 : public TForm
{
__published:// IDE-managed Components
TLabel *Label1;
TEdit *Edit1;
TLabel *Label2;
TEdit *Edit2;
TLabel *Label3;
TEdit *Edit3;
TLabel *Label5;
TEdit *Edit5;
TLabel *Label6;
TBitBtn *BitBtn1;
TMemo *Memo1;
TNMSMTP *NMSMTP1;
TLabel *Label7;
TEdit *Edit6;
TLabel *Label8;
TEdit *Edit7;
TBitBtn *BitBtn2;
TBitBtn *BitBtn3;
void __fastcall BitBtn1Click(TObject *Sender);
void __fastcall BitBtn2Click(TObject *Sender);
void __fastcall BitBtn3Click(TObject *Sender);
private:// User declarations
public:// User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------
#endif

///////////////////////////////////////////////////////////////////////
注:发件人邮箱:zhanghelps@tom.com
收件人邮箱:zhanghelpsgz@163.com
Host:smtp.tom.com
邮件用户名称:zhanghelps
发件人名称:zhanghelps

为什么发邮件不成功,是没有邮箱密码吗?

[解决办法]
貌似需要Base64编码。

读书人网 >C++ Builder

热点推荐