請各位大大幫我看看要怎樣改html才可以不用以附件方式呈現 |
尚未結案
|
s815120
一般會員 發表:1 回覆:3 積分:0 註冊:2007-12-27 發送簡訊給我 |
function TSocketDispatcherThread.formail(ReceiveText: string) : string;
var Stext : ansistring; SH: TMailDispatcher; i : integer; FileDirectory,Filename : string; Xhtml: string; TIdBase64Encoder1: TIdBase64Encoder; RString, RString1: String; begin Stext := '1001'; FileDirectory :=trim(SocketForm.MailServerFileDirectory.text); if copy(FileDirectory,length(FileDirectory),1) <> '\' then FileDirectory := FileDirectory '\'; if trim(copy(ReceiveText,105,100)) = '' then filename :='' else filename := trim(copy(ReceiveText,105,100)) 'Θ'; if trim(filename) <> '' then Xhtml := FileDirectory ExtractFileName(copy(filename,1,pos('Θ',filename)-1)) else Xhtml := ''; try SH := TMailDispatcher.Create(nil); SH.Host := SocketForm.MailServerip.text; SH.Port := strtoint(SocketForm.mailserverport.text); SH.UserID := SocketForm.connectuser.text; SH.Connect; if SH.Sendtext = '1001' then begin SH.PostMessage.FromAddress := SocketForm.emailaddress.text; SH.PostMessage.FromName := SocketForm.emailname.text; SH.PostMessage.FromName := '寄件者'; SH.PostMessage.ToAddress.add(trim(copy(ReceiveText,5,50))); SH.PostMessage.Subject := '主旨'; if trim(filename) <> '' then begin while length(filename) > 0 do begin if FileExists(FileDirectory ExtractFileName(copy(filename,1,pos('Θ',filename)-1))) then SH.PostMessage.Attachments.Add(FileDirectory ExtractFileName(copy(filename,1,pos('Θ',filename)-1))); filename := copy(filename,pos('Θ',filename) 2,length(filename)-pos('Θ',filename)); end; end; i := 205; if length(ReceiveText)-204 > 0 then ReceiveText := ConvertFullType(trim(copy(ReceiveText,i,length(ReceiveText)-204))) else ReceiveText :=''; i := 1; while trim(copy(ReceiveText,i,60)) <> '' do begin SH.PostMessage.Body.Add(trim(copy(ReceiveText,i,60))); i := i 60; end; SH.EncodeType := uuMime; SH.SubType := mtHtml; SH.Charset := '"big5"'; SH.SendMail; end; Stext := SH.Sendtext; SH.Destroy; except Stext := '1002'; end; if (Xhtml <> '') then begin if FileExists(Xhtml) then DeleteFile(Xhtml); end; Result := Stext; end; |
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
沒有很仔細看您的程式, 請看一下紅色部分我的想法 ===================引 用 s815120 文 章=================== function TSocketDispatcherThread.formail(ReceiveText: string) : string; var Stext : ansistring; SH: TMailDispatcher; i : integer; FileDirectory,Filename : string; Xhtml: string; TIdBase64Encoder1: TIdBase64Encoder; RString, RString1: String; begin Stext := '1001'; FileDirectory :=trim(SocketForm.MailServerFileDirectory.text); if copy(FileDirectory,length(FileDirectory),1) <> '\' then FileDirectory := FileDirectory '\'; if trim(copy(ReceiveText,105,100)) = '' then filename :='' else filename := trim(copy(ReceiveText,105,100)) 'Θ'; if trim(filename) <> '' then Xhtml := FileDirectory ExtractFileName(copy(filename,1,pos('Θ',filename)-1)) else Xhtml := ''; try SH := TMailDispatcher.Create(nil); SH.Host := SocketForm.MailServerip.text; SH.Port := strtoint(SocketForm.mailserverport.text); SH.UserID := SocketForm.connectuser.text; SH.Connect; if SH.Sendtext = '1001' then begin SH.PostMessage.FromAddress := SocketForm.emailaddress.text; SH.PostMessage.FromName := SocketForm.emailname.text; SH.PostMessage.FromName := '寄件者'; SH.PostMessage.ToAddress.add(trim(copy(ReceiveText,5,50))); SH.PostMessage.Subject := '主旨'; if trim(filename) <> '' then begin while length(filename) > 0 do begin if FileExists(FileDirectory ExtractFileName(copy(filename,1,pos('Θ',filename)-1))) then SH.PostMessage.Attachments.Add(FileDirectory ExtractFileName(copy(filename,1,pos('Θ',filename)-1))); 就是這一句加 attachments, 可否改成讀入 該檔的內容 直接放入 SH.PostMessage.Body 中. filename := copy(filename,pos('Θ',filename) 2,length(filename)-pos('Θ',filename)); end; end; i := 205; if length(ReceiveText)-204 > 0 then ReceiveText := ConvertFullType(trim(copy(ReceiveText,i,length(ReceiveText)-204))) else ReceiveText :=''; i := 1; while trim(copy(ReceiveText,i,60)) <> '' do begin SH.PostMessage.Body.Add(trim(copy(ReceiveText,i,60))); i := i 60; end; SH.EncodeType := uuMime; SH.SubType := mtHtml; SH.Charset := '"big5"'; SH.SendMail; end; Stext := SH.Sendtext; SH.Destroy; except Stext := '1002'; end; if (Xhtml <> '') then begin if FileExists(Xhtml) then DeleteFile(Xhtml); end; Result := Stext; end;
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
s815120
一般會員 發表:1 回覆:3 積分:0 註冊:2007-12-27 發送簡訊給我 |
感謝
我來試試看 ===================引 用 st33chen 文 章=================== 您好, 沒有很仔細看您的程式, 請看一下紅色部分我的想法 SH.PostMessage.Attachments.Add(FileDirectory ExtractFileName(copy(filename,1,pos('Θ',filename)-1))); 就是這一句加 attachments, 可否改成讀入 該檔的內容 直接放入 SH.PostMessage.Body 中. |
s815120
一般會員 發表:1 回覆:3 積分:0 註冊:2007-12-27 發送簡訊給我 |
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
那要看那個檔案是何種類型 如果是本文檔(應該就是本文檔吧, 如果不是, 那這個方法不見得適用) 可以用 var mylist : tstringlist; mylist := tstringlist.create; mylist.loadfromfile( filename 字串 ); 然後 SH.PostMessage.Body := SH.PostMessage.Body mylist.text; // 當然, mylist.text 的前後您可以其字串 ( 或 #13 來斷列) 參考一下
(如果不是本文檔, 那就非常 sorry, 我題目未十分清楚就回答, 回答太快了)
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
編輯記錄
st33chen 重新編輯於 2008-12-13 07:24:49, 註解 無‧
|
s815120
一般會員 發表:1 回覆:3 積分:0 註冊:2007-12-27 發送簡訊給我 |
我的檔案是HTML檔案
可是如果寄出 都是會以附件方式寄出 我希望開啟信件可以直接看到內容 不需要在開啟附件 我不太懂你的本文檔是什麼意思 另外這個 "然後 SH.PostMessage.Body := SH.PostMessage.Body mylist.text; // 當然, mylist.text 的前後您可以其字串 ( 或 #13 來斷列)" 是不是只適合文字檔 謝謝 ===================引 用 st33chen 文 章=================== 那要看那個檔案是何種類型 如果是本文檔(應該就是本文檔吧, 如果不是, 那這個方法不見得適用) 可以用 var mylist : tstringlist; mylist := tstringlist.create; mylist.loadfromfile( filename 字串 ); 然後 SH.PostMessage.Body := SH.PostMessage.Body mylist.text; // 當然, mylist.text 的前後您可以其字串 ( 或 #13 來斷列) 參考一下
(如果不是本文檔, 那就非常 sorry, 我題目未十分清楚就回答, 回答太快了) |
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |