Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
|
POP3 to SMTP ForwarderRead a POP3 mailbox and forwards the email to another email address, keeping the recipients in the original email the same.
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATMAILLib2_TLB, CHILKATUTILLib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var mailman: TChilkatMailMan2; success: Integer; saUidls: CHILKATUTILLib_TLB.ICkStringArray; saMime: CHILKATUTILLib_TLB.ICkStringArray; i: Integer; strMime: String; n: Integer; fromAddr: String; toAddr: String; bAllOk: Integer; begin // The mailman object is used for receiving (POP3) // and sending (SMTP) email. mailman := TChilkatMailMan2.Create(Self); // Any string argument automatically begins the 30-day trial. success := mailman.UnlockComponent('30-day trial'); if (success <> 1) then begin ShowMessage('Component unlock failed'); end; // Set the POP3 server's hostname mailman.MailHost := 'mail.chilkatsoft.com'; // Set the POP3 login/password. mailman.PopUsername := 'matt@chilkatsoft.com'; mailman.PopPassword := '****'; // The the UIDLs for all email in the POP3 mailbox. saUidls := mailman.GetUidls() as CHILKATUTILLib_TLB.ICkStringArray; if (saUidls = nil ) then begin ShowMessage(mailman.LastErrorText); end; // Download the email from the server. Call FetchMultipleMime // because we don't want to load the emails into email objects. // (We'll delete the emails that are forwarded without error.) saMime := mailman.FetchMultipleMime(saUidls) as CHILKATUTILLib_TLB.ICkStringArray; if (saMime = nil ) then begin ShowMessage(mailman.LastErrorText); end; // Set the SMTP hostname for sending. mailman.SmtpHost := 'mail.chilkatsoft.com'; mailman.SmtpUsername := 'admin@chilkatsoft.com'; mailman.SmtpPassword := '****'; n := saMime.Count; fromAddr := 'matt@chilkatsoft.com'; toAddr := 'admin@chilkatsoft.com'; bAllOk := 1; if (n > 0) then begin for i := 0 to n - 1 do begin strMime := saMime.GetString(i); // Forward the email. success := mailman.SendMime(fromAddr,toAddr,strMime); if (success <> 1) then begin bAllOk := 0; Memo1.Lines.Add(mailman.LastErrorText); break; end; end; end; // Remove the emails in saUidls from the POP3 server. if (bAllOk = 1) then begin success := mailman.DeleteMultiple(saUidls); if (success <> 1) then begin Memo1.Lines.Add(mailman.LastErrorText); end; end; end; |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.