indy로 이메일 보내는것에 대해 물어봅니다..
idmsg로 메세지를 구성하여 smtp로 보내는데..
Html코드가 안되서 그럽니다..
Content-Type := 'text/html'을 설정해서
보내는데..첨부파일없이는 잘되는데.. 파일첨부만하면..
html코드가 그대로 보여집니다.. 어떻게 하는지 부탁드립니다..
procedure TFrm_email.MsgProc() ; //메세지 작성..
const
htmlstr = '<html>' ;
space = '<br><br><br><br><br><br><br><br><br><br><br><br>' ;
brstring = '<br>' ;
var
Sender_valueF, Sender_value : String; //받는사람..
i,j : Integer ;
first_Flg : Boolean ;
susin : String ;
begin
//받는사람 처리..
susin := '<HR color=#8bb5e2> <DIV align=center> '
+ '<FONT face=굴림 size=2 color=#8bb5e2>본 메일은 정보통신부 권고 사항에 의거'
+ '제목에 [광고]라 표시된 광고 메일입니다.</FONT><BR> '
+ '<A style="PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 12px; '
+ 'PADDING-BOTTOM: 3px; COLOR: #ffff00; PADDING-TOP: 3px; FONT-FAMILY: 굴림;'
+ 'BACKGROUND-COLOR: #8bb5e2; TEXT-DECORATION: none"'
+ 'href="mailto:'
+ Init.Mail.Add + '">수신거부[Deny]</A>'
+ '<FONT color=#8bb5e2 size=2 color=#8bb5e2>버튼을 클릭하시면 수신거부처리가 이루어 집니다.<br>'
+ 'If you don''t want to receive this mail anymore, click here [Deny]</FONT>'
+ '</DIV> <HR color=#8bb5e2> </html>' ;
Sender_valueF := '' ;
Sender_value := '' ;
First_Flg := True ;
for i := 0 to Rx_List.Items.Count -1 do
begin
If Rx_List.Checked[i] then
begin
If First_flg then begin
sender_valueF := Mail_List[i] ;
First_Flg := False ;
end else Sender_value := sender_value + Mail_List[i] + ', ' ;
end ; //end if
end ; //end for
Sender_value := copy(sender_value,1,length(Sender_value) - 2) ; //마지막 , 없애기
//메세지맹그는거..
idMsg.Clear ;
idMsg.Headers.Text := 'Content-type: text/html';
idMsg.ContentType := 'text/html' ;
idMsg.From.Address := Init.Mail.Add ;
idMsg.From.Name := Init.Mail.User ;
idMsg.Subject := edit_title.Text ;
idMsg.Body.Append(htmlstr) ;
for j := 0 to memo.Lines.Count -1 do
begin
idMsg.Body.Append(Memo.Lines.Strings[j]) ;
idMsg.Body.Append(brstring);
end ;
idMsg.Body.Append(space);
idMsg.Body.Append(susin) ;
idMsg.Recipients.EMailAddresses := Sender_ValueF ;
idMsg.BCCList.EMailAddresses := Sender_Value ;
for i := 0 to List_file.Items.Count -1 do
TIdAttachment.Create(idMsg.MessageParts , list_file.Items.Strings[i]) ;
end ;