Delphi’de e-mail bir çok yolla gönderilebilir. Projede e-mail sunucusu olarak SMTP kullanılmıştır. Eğer e-mail’ lerin görülmesi istenseydi POP3 sunucu kullanmak gerekirdi.Forma Indy Clients menüsünden “IdSMTP” ve Indy Misc menüsünden ”IdMessage” bileşenleri yerleştirilir. IdSMTP nesnesi SMTP mail sunucusuna bağlanmayı sağlar.IdSMTP nesnesi seçili iken Properties kısmından Authentication özelliği AtLogin seçilip mail adresinin şifreli olanı seçilir. Properties kısmından Host kısımına gelinir. Bu kısım mail sunucusunun adresinin yazıldığı yerdir. Bu adres mail gönderimi yapacak mail adresinin mail sunucusunun adresi olmalıdır.Burada kendi Domain’ imiz üzerinden bir e-mail adresi alıp o sunucuyu kullanmış bulunmaktayız. Domain’ imiz “bilgilihost.com” dur. Server üzerinde mail sunucuları “mail” subdomain’ i üzerine kurulu gelmektedir. Böylelikle mail host adresimiz “mail.bilgilihost.com” olur. Bu adres host kısmına yazılır. Port kısmına ise Properties penceresinden Server’ ın mail portu yazılarak geçilir. Bu port bizim kullandığımız Server’ da “25”dir. Port kısmına da bu yazıldıktan sonra username ve password kısımlarına, Authentication kısmı Atlogin seçildiği için kullanıcı adı ve şifre verilmesi gerekir.Bu bilgiler e-mail adresimizin kendi bilgileri olacaktır. Username kısmına “@” yerine “+” kullanılmak üzere mail adresi yazılır. Şifreye ise e-mail’ i açarken ayarlanan şifre yazılır. Böylelikle IdSMTP bağlantıya hazır konuma gelir. Sonra gönder tuşuna gerekli kodlar eklenir e-mail göndermeye hazır konuma getirilir.IdMessage memo’ daki gönderilmek üzere tutulmuş yazıyı tutup ve konuyu da subject olarak alıp mail tipinde saklamaktadır. IdMessage nesneside SMTP’ ye yönlendirildiği zaman yazılı olan metni sunucuya bağlı olan mail Server’ ını kullanarak tanıtılmış olan mail adresine gönderim yapar.KODLAR://Gönder butonuna eklenecek kodprocedure TMailGonder.Button2Click(Sender: TObject);begin//setup SMTP//setup mail messageMailMessage.From.Address := dbedit1.Text;MailMessage.Recipients.EMailAddresses := ‘[email protected]’;MailMessage.Subject := dbedit2.Text;MailMessage.Body.Text := dbmemo1.Text;//send mailtrySMTP.Connect(1000);SMTP.Send(MailMessage);finallyif SMTP.Connected then SMTP.Disconnect;end;AdoTable1.Post;showmessage(‘Mailiniz gönderilmiştir’);end;