掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TIdMessageのOnInitializeISOイベント割り当て (ID:148289)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
自己レスです 下記のようなやり方でとりあえずイベントは動いたようです ネット上の色々なサイトのコードを参考にして継ぎはぎしたコードなので全く自信がありません type TIdMessage1 = class(TIdMessage) private FOnInitializeISO: TIdInitializeISOEvent; public procedure DoInitializeISO(var VHeaderEncoding: Char; var VCharSet: String); override; published property OnInitializeISO: TIdInitializeISOEvent read FOnInitializeISO write FOnInitializeISO; end; procedure TIdMessage1.DoInitializeISO(var VHeaderEncoding: Char; var VCharSet: String); begin inherited; if Assigned(FOnInitializeISO) then begin VHeaderEncoding := 'B'; VCharSet := 'UTF-8'; end; end; function ComSendMailWithCC(Host, Subject, Name, From, Mailto, Text: String; Cc: String = ''): Boolean; const //*=== メール設定情報 ===*/ MAIL_CHARSET = 'UTF-8'; // 文字コード MAIL_CONTENTTYPE = 'text/plain'; // コンテンツ種別 MAIL_ENCODING = 'BASE64'; // エンコーディング var smtp: TIdSMTP; msg : TIdMessage1; begin //*** 復帰値の初期値を設定する ***/ Result := True; // 正常終了 //*** 変数を初期化する ***/ smtp := nil; msg := nil; //*** メールを送信する ***/ try try //*=== SMTPサーバの接続 ===*/ smtp := TIdSMTP.Create(nil); smtp.Host := Host; smtp.Connect; //*=== メッセージオブジェクトの作成 ===*/ msg := TIdMessage1.Create(smtp); msg.ContentType := MAIL_CONTENTTYPE; msg.CharSet := MAIL_CHARSET; msg.ContentTransferEncoding := MAIL_ENCODING; msg.Subject := Subject; msg.From.Name := Name; msg.From.Address := From; msg.Recipients.EMailAddresses := Mailto; msg.CCList.EMailAddresses := Cc; msg.Body.Text := Text; //*=== メール送信 ===*/ smtp.Send(msg); except Result := False; // 異常終了 end; finally //*=== メッセージオブジェクトの破棄 ===*/ if msg <> nil then msg.Free; //*=== SMTPサーバの切断 ===*/ if smtp <> nil then begin smtp.Disconnect; smtp.Free; end; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.