Lazarusでメール送信してみた
環境
Ubuntu 16.04 LT (VirtalBoxにて)
Lazarus 2.0.10
手順
パッケージ「indy」を読み込む
パッケージ>OnlinePackageManager
検索
indy
Indy10にチェック
install
From repository
参考
http://oto.chu.jp/a.oto.chu.jp/kujira/text/delphi/mail/sendmail.htm
https://www.migaro.co.jp/contents/support/technical_report_search/no06/tech/06_01_04.pdf
https://www.petitmonte.com/bbs/answers?question_id=29625
必要な情報
メールサーバのアカウントとパスワード(x-sreverなどにて取得)
smtp.HOST:=’svxxxx.xserver.jp’;
smtp.PORT:=587;
smtp.Username:=’xxx@xxx.jp’;
smtp.Password:=’xxxxx’;
IdIMAP4,IdSMTP, IdSSLOpenSSL, IdMessage
を、設置
プログラム
var
smtp: TIdSMTP;
msg : TIdMessage;
begin
//*** 変数を初期化する ***/
smtp := nil;
msg := nil;
try
try
smtp := TIdSMTP.Create(nil);
smtp.HOST:=’xxxx.xserver.jp’;
smtp.PORT:=587;
smtp.Username:=’xxxx@xxxxx.com’;
smtp.Password:=’xxxx’;
smtp.Connect;
//*=== メッセージオブジェクトの作成 ===*/
msg := TIdMessage.Create(smtp);
msg.Subject := ‘Subject’;
msg.From.Name := ‘Name’;
msg.From.Address := ‘xxxxxx@gmail.com’;
msg.Recipients.EMailAddresses := ‘xxxxxx@gmail.com’;
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;
無事送信できました