Delphi7 IdSMTPコンポーネントを使ってメール送信を行っていましたが、
ある日突然プロパイダのスパムメール対策でポート25が使用できなくなりました。
ポート587を利用するには「このサーバーは認証が必要」にしなけらばならないらしいのですが、IdSMTPコンポーネントの設定がわかりません。
どうしたらよいのか教えてください。
こんな感じでよろしいかと。
肝は、
・AuthenticationType := atLoginを設定する
・Username := SMTP認証用ユーザIDを設定する
・Password := SMTP認証用パスワードを設定する
・Port := 587に設定する
くらいです。
SMTPサーバの設定によっては、もう少し手を加える必要があるかもしれません。
procedure TForm1.btnSendClick(Sender: TObject);
var
subject, from, mailto, body: string;
msg: TIdMessage;
begin
//IdSMTPのプロパティを設定しておく
// AuthenticationType := atLogin
// Host := SMTPサーバ
// Password := ログインパスワード
// Port := 587
// Username := ログインユーザID
subject := 'IdSMTP Send Test';
from := 'nishino@i-i-i.jp';
mailto := 'nishino@overs.jp';
body := 'Indy SMTP SEND TEST';
msg := TIdMessage.Create(IdSmtp1);
try
msg.Subject := subject;
msg.Recipients.EMailAddresses := mailto;
msg.From.Text := from;
msg.Body.Text := body;
msg.ContentType := 'text/plain';
IdSmtp1.Connect;
IdSmtp1.Send(msg);
IdSmtp1.Disconnect ;
ShowMessage('送信完了しました。');
finally
msg.Free;
end;
end;
ほんとに助かりました。
にしのさん
ありがとうございました。
ツイート | ![]() |