Indyの IdSMTP,IdSASLコンポーネントをつかって
SMTP認証ありのメール送信処理を実装しようとしていますが、
送信途中で停止してしまい、送信できません(というより認証できていない)
具体的には IdSASLCollectionユニットのL154行目にエラーが出て停止します。なので、暗号方式の指定方法が悪いのでしょうか??
上記のコンポーネントのほかに、IdSASL_CRAM_MD5,IdSASLLogin,IdSASLPlain
などを組み込み、 オブジェクトインスペクタでTIdSMTP/SASLMechanismsのプロパティにPLAINを指定しています。 実際のソースは以下のような感じです。
どなたか正しい方法をご存知のかたがいらっしゃれば、
よろしくおねがいします。
-----------------------------------------------
T_MSG := TIdMessage.Create(Self);
with T_MSG do begin
CharSet := 'ISO-2022-JP';
Host := 'smtp.example.com';
Username := 'exman';
Password := 'exman';
AuthType := atSASL;
ContentType := 'text/plain';
Body.Add('こんにちは');
From.Text := 'exman@example.com';
Recipients.EMailAddresses := 'to@example.com';
Subject := '題名';
end;
with IdSMTP1 do begin
AuthType := atSASL;
Username := 'name';
Password := 'pass';
Host := T_MST.Host;
Port := 25;
end;
IdSMTP1.Connect();
IdSMTP1.Authenticate();
IdSMTP1.Send(T_MSG);
IdSMTP1.Disconnect();
ツイート | ![]() |