要實現Delphi發送郵件,可以使用Indy組件庫中的TIdSMTP和TIdMessage組件。
首先,在Delphi的Form中添加TIdSMTP和TIdMessage組件。
然后,設置TIdSMTP組件的屬性,包括Host(SMTP服務器地址),Port(SMTP服務器端口),Username(SMTP服務器用戶名),Password(SMTP服務器密碼)等。
接下來,設置TIdMessage組件的屬性,包括From(發件人地址),Recipients(收件人地址),Subject(郵件主題),Body(郵件內容)等。
最后,調用TIdSMTP組件的Send方法發送郵件。
以下是一個示例代碼:
uses
IdSMTP, IdMessage, IdExplicitTLSClientServerBase, IdSSLOpenSSL;
procedure TForm1.Button1Click(Sender: TObject);
var
SMTP: TIdSMTP;
Msg: TIdMessage;
begin
SMTP := TIdSMTP.Create(nil);
Msg := TIdMessage.Create(nil);
try
SMTP.Host := 'smtp.example.com';
SMTP.Port := 25;
SMTP.Username := 'your_username';
SMTP.Password := 'your_password';
Msg.From.Address := 'sender@example.com';
Msg.Recipients.Add.Address := 'recipient@example.com';
Msg.Subject := 'Test Email';
Msg.Body.Text := 'This is a test email.';
SMTP.Connect;
try
SMTP.Send(Msg);
finally
SMTP.Disconnect;
end;
finally
SMTP.Free;
Msg.Free;
end;
end;
在上述代碼中,需要將smtp.example.com
替換為實際的SMTP服務器地址,your_username
和your_password
替換為實際的SMTP服務器登錄信息,sender@example.com
和recipient@example.com
替換為實際的發件人和收件人地址。
注意:發送郵件需要SMTP服務器的支持,且需要與SMTP服務器的網絡連接正常。另外,某些SMTP服務器可能需要使用SSL或TLS加密連接,可以使用TIdSSLIOHandlerSocketOpenSSL組件來實現加密連接。