Nmsmtp问题? |
缺席
|
sl@cableplus.com.cn
高階會員 ![]() ![]() ![]() ![]() 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
代码如下:
Nmsmtp1.PostMessage.ToAddress.Add(该出应写什么,请举例);
Nmsmtp1.PostMessage.FromAddress := 该出应写什么,请举例;
Nmsmtp1.PostMessage.FromName := ‘SUN’;
Nmsmtp1.PostMessage.Subject := ‘HI’;
Nmsmtp1.PostMessage.Attachments.Add('F:\x.doc') ;
Nmsmtp1.Connect;
Nmsmtp1.Sendmail;
Nmsmtp1.DisConnect;
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
sl@cableplus.com.cn你好:
看看这篇
http://delphi.ktop.com.tw/topic.php?topic_id=42523
摘leo2568 兄的回答
procedure TForm1.Button1Click(Sender: TObject);
begin
NMSmtp1.Host:=''; //SMTP服務器地址
NMSmtp1.UserID:=''; //你在對應服務器上的注冊用戶名
NMSmtp1.Connect; //与服務器建立連接
NMSmtp1.PostMessage.FromAddress:=Edit1.Text; //發件人的郵件地址
NMSmtp1.PostMessage.Subject:=Edit2.Text; //郵件主題
NMSmtp1.PostMessage.ToAddress.Add(Edit1.Text); //收件人的郵件地址
NMSmtp1.PostMessage.Attachments.AddStrings(ListBox1.Items); //附件
NMSmtp1.PostMessage.Body.Assign(Memo1.Lines); //郵件的正文
NMSmtp1.SendMail; //發送郵件
NMSmtp1.Disconnect; //斷開連接
ShowMessage('發送完畢!'); //發送完時顯示提示信息
end; ——行径窄处,留一步与人行——
|
sl@cableplus.com.cn
高階會員 ![]() ![]() ![]() ![]() 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
NMSmtp1.Host := 'smtp.163.com'; //SMTP服務器地址
NMSmtp1.UserID := 'sl'; //你在對應服務器上的注冊用戶名
NMSmtp1.Connect; //与服務器建立連接
NMSmtp1.PostMessage.FromAddress := 'sunseave@163.com'; //發件人的郵件地址
NMSmtp1.PostMessage.Subject := 'TRY'; //郵件主題
NMSmtp1.PostMessage.ToAddress.Add('sunseave@etang.com'); //收件人的郵件地址
// NMSmtp1.PostMessage.Attachments.AddStrings(ListBox1.Items); //附件
// NMSmtp1.PostMessage.Body.Assign(Memo1.Lines); //郵件的正文
NMSmtp1.SendMail; //發送郵件
NMSmtp1.Disconnect; //斷開連接
ShowMessage('發送完畢!');
在SendMail时系统说你没有授权发送到sunseave@163.com,如下图
|
sl@cableplus.com.cn
高階會員 ![]() ![]() ![]() ![]() 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
|
sl@cableplus.com.cn
高階會員 ![]() ![]() ![]() ![]() 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
sl@cableplus.com.cn您好,不知您有没有看看我给您的链接,那里有很详细的讨论
再摘:
使用MAPI發送E-mail
function TForm1.SendEMail(Handle: THandle; Mail: TStrings): Cardinal;
type
TAttachAccessArray = array [0..0] of TMapiFileDesc;
PAttachAccessArray = ^TAttachAccessArray;
var
MapiMessage: TMapiMessage;
Receip: TMapiRecipDesc;
Attachments: PAttachAccessArray;
AttachCount: Integer;
i1: integer;
FileName: string;
dwRet: Cardinal;
MAPI_Session: Cardinal;
WndList: Pointer;
begin
dwRet := MapiLogon(Handle,
PChar(''),
PChar(''),
MAPI_LOGON_UI or MAPI_NEW_SESSION,0, @MAPI_Session); if (dwRet <> SUCCESS_SUCCESS) then
begin
MessageBox(Handle,
PChar('Error while trying to send email'),
PChar('Error'),
MB_ICONERROR or MB_OK);
end
else
begin
FillChar(MapiMessage, SizeOf(MapiMessage), #0);
Attachments := nil;
FillChar(Receip, SizeOf(Receip), #0); if Mail.Values['to'] <> '' then
begin
Receip.ulReserved := 0;
Receip.ulRecipClass := MAPI_TO;
Receip.lpszName := StrNew(PChar(Mail.Values['to']));
Receip.lpszAddress := StrNew(PChar('SMTP:' Mail.Values['to']));
Receip.ulEIDSize := 0;
MapiMessage.nRecipCount := 1;
MapiMessage.lpRecips := @Receip;
end; AttachCount := 0; for i1 := 0 to MaxInt do
begin
if Mail.Values['attachment' IntToStr(i1)] = '' then
break;
Inc(AttachCount);
end; if AttachCount > 0 then
begin
GetMem(Attachments, SizeOf(TMapiFileDesc) * AttachCount); for i1 := 0 to AttachCount - 1 do
begin
FileName := Mail.Values['attachment' IntToStr(i1)];
Attachments[i1].ulReserved := 0;
Attachments[i1].flFlags := 0;
Attachments[i1].nPosition := ULONG($FFFFFFFF);
Attachments[i1].lpszPathName := StrNew(PChar(FileName));
Attachments[i1].lpszFileName :=
StrNew(PChar(ExtractFileName(FileName)));
Attachments[i1].lpFileType := nil;
end;
MapiMessage.nFileCount := AttachCount;
MapiMessage.lpFiles := @Attachments^;
end; if Mail.Values['subject'] <> '' then
MapiMessage.lpszSubject := StrNew(PChar(Mail.Values['subject']));
if Mail.Values['body'] <> '' then
MapiMessage.lpszNoteText := StrNew(PChar(Mail.Values['body'])); WndList := DisableTaskWindows(0);
try
Result := MapiSendMail(MAPI_Session, Handle,
MapiMessage, MAPI_DIALOG, 0);
finally
EnableTaskWindows( WndList );
end; for i1 := 0 to AttachCount - 1 do
begin
StrDispose(Attachments[i1].lpszPathName);
StrDispose(Attachments[i1].lpszFileName);
end; if Assigned(MapiMessage.lpszSubject) then
StrDispose(MapiMessage.lpszSubject);
if Assigned(MapiMessage.lpszNoteText) then
StrDispose(MapiMessage.lpszNoteText);
if Assigned(Receip.lpszAddress) then
StrDispose(Receip.lpszAddress);
if Assigned(Receip.lpszName) then
StrDispose(Receip.lpszName);
MapiLogOff(MAPI_Session, Handle, 0, 0);
end; end; procedure TForm1.BitBtn1Click(Sender: TObject);
var
mail: TStringList;
begin
mail := TStringList.Create;
try
mail.values['to'] := 'hello.av8d@msa.hinet.net';
mail.values['subject'] := 'Hello'; //主旨
mail.values['body'] := '內文';
mail.values['attachment0'] := 'C:\file.txt'; //附加檔案
sendEMail(Application.Handle, mail);
finally
mail.Free;
end;
end;
hagar 老大提供的链接:
http://forum.vclxx.org/topic.php?TOPIC_ID=17826&FORUM_ID=5&CAT_ID=2&Topic_Title=ShellExecute¥l³êOutLook®ɡA¦p¦ó¦P®ɱN*.htm¥á¤J&Forum_Title=Database lee 总管
用Delphi寫發電子報軟體(Ver 2.1)
http://delphi.ktop.com.tw/topic.php?topic_id=18028
====== ——行径窄处,留一步与人行—— 發表人 - deity 於 2004/04/15 13:22:23
|
sl@cableplus.com.cn
高階會員 ![]() ![]() ![]() ![]() 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
|
sl@cableplus.com.cn
高階會員 ![]() ![]() ![]() ![]() 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |