線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1709
推到 Plurk!
推到 Facebook!

Nmsmtp问题?

缺席
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-14 16:40:38 IP:218.80.xxx.xxx 未訂閱
代码如下: 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-15 00:06:40 IP:219.129.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-15 09:19:13 IP:218.80.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-15 09:37:46 IP:218.80.xxx.xxx 未訂閱
再运行几次就报错“不是一个有效的收件人”,请问收件人应填写什么内容?
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-15 11:03:49 IP:218.80.xxx.xxx 未訂閱
听说Nmsmtp不能发给有验证的邮箱,请问是否属实,而我用的是DELPHI5,还有没有其他控件可以来收发EMAIL的?
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-15 13:15:02 IP:219.129.xxx.xxx 未訂閱
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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-04-19 09:49:39 IP:218.80.xxx.xxx 未訂閱
上述MAPI发信代码中,请问在哪里定义:TMapiFileDesc,TMapiMessage,TMapiRecipDesc,MapiLogon,MAPI_LOGON_UI,MAPI_NEW_SESSION??请教
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-04-19 10:11:38 IP:218.80.xxx.xxx 未訂閱
知道了,在Uses中定义MAPI就行了,但是MAPI好象是调用OUTLOOK的,但我想自己来控制邮件的发送地址和状态,然后把发送情况的具体内容保存到数据库中,请教有何好的方法?
系統時間:2024-05-17 18:32:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!