Skip to main content

Mengirim Email dengan Delphi XE Menggunakan Account Google

Kemarin kita sudah membahas mengenai bagaimana caranya mengirim email melalui aplikasi yang dibuat dengan menggunakan VB.NET. Nah sekarang bagaimana caranya mengirim email tapi melalui aplikasi Delphi XE?


Untuk mengirim email melalui Delphi XE sebenarnya mudah sekali. Caranya juga hampir mirip dengan VB.NET kok. Component yang dibutuhkan antara lain adalah TIdSMTP, TIdMessage dan TIdSSLIOHandlerSocketOpenSSL. Tanpa component-component tersebut kamu tidak akan dapat mengirimkan email.


Selain component yang saya sebutkan diatas, tentu kamu akan membutuhkan koneksi internet. Tanpa itu mustahil email dapat dikirim ke alamat tujuan. Sebenarnya kamu juga dapat menambahkan class dari masing-masing component diatas ke dalam uses tanpa harus menggunakan component.


Hal lain yang sangat penting yang mesti kamu pahami adalah untuk mengirimkan sebuah email dibutuhkan yang namanya email sender (email si pengirim), email recipient (email si penerima), email cc (optional), email bcc (optional) dan SMTP setting.


Untuk SMTP setting yang digunakan untuk mengirimkan email bisa sama dengan account yang digunakan sebagai email sender. Jadi dalam hal ini tentu saja kamu harus mengetahui user name, password, port number dan nama dari smtp setting yang akan kamu gunakan.


Pada contoh tutorial kita kali ini, account yang akan kita gunakan adalah account gmail. Terus kalau kamu ingin menggunakan account selain gmail bagaimana? Caranya tetap sama kok. Kamu tinggal sesuaikan saja dengan account lain yang akan kamu gunakan.


Untuk mengirimkan email menggunakan account gmail ada beberapa hal yang mesti kamu lakukan terlebih dahulu. Mengapa demikian? Karena google tidak serta merta membolehkan kamu untuk menggunakan account gmail begitu saja diluar akses yang telah diperbolehkan oleh mereka.


Solusi :

  1. Masuklah ke dalam account gmail kamu terlebih dahulu.

  2. Buka link berikut ini https://accounts.google.com/DisplayUnlockCaptcha dan klik button allow access untuk mengijinkan google mengaktifkan account kamu.

  3. Buka link berikut ini https://www.google.com/settings/security/lesssecureappsdan pilih Turn On untuk Access for less secure apps. Jika sudah klik update.

  4. Coba logout dan login kembali.

  5. Mengharuskan anda untuk menggunakan authentication dan ssl pada saat mengirimkan email.


 

Proses Pembuatan Aplikasi

Buka IDE Delphi XE anda.

ide-delphixe.png

Buat project baru dengan cara membuka menu File > New > VCL Forms Application - Delphi. Tambahkan label, textbox, checkbox, groupbox dan button ke dalam form. Tambahkan juga TIdSMTP, TIdMessage dan TIdSSLIOHandlerSocketOpenSSL. Atur dan desain layoutnya menjadi seperti gambar berikut ini.


desain-form-email.png


Masukkan coding berikut ini ke dalam form.

[code language="delphi"]

unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdIOHandler,
IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdMessage, IdAttachment, IdAttachmentFile,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdSMTP;

type
TForm1 = class(TForm)
IdSMTP1: TIdSMTP;
IdMessage1: TIdMessage;
IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
GroupBox1: TGroupBox;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label10: TLabel;
TxtSmtpName: TEdit;
TxtSmtpUser: TEdit;
TxtSmtpPwd: TEdit;
TxtSmtpPort: TEdit;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label12: TLabel;
TxtSender: TEdit;
TxtTo: TEdit;
TxtCC: TEdit;
TxtBCC: TEdit;
TxtSubject: TEdit;
TxtBody: TMemo;
BtnSend: TButton;
BtnSetting: TButton;
BtnClose: TButton;
BtnCloseSetting: TButton;
procedure BtnCloseClick(Sender: TObject);
procedure BtnSettingClick(Sender: TObject);
procedure BtnCloseSettingClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BtnSendClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

uses Unit2;

procedure TForm1.BtnCloseClick(Sender: TObject);
begin
application.Terminate;
end;

procedure TForm1.BtnCloseSettingClick(Sender: TObject);
begin
self.Width:=334;
BtnSetting.Visible:=True;
BtnCloseSetting.Visible:=False;
self.Left:=(screen.Width-self.Width) div 2;
end;

procedure TForm1.BtnSendClick(Sender: TObject);
begin
//Validate
If (TxtSender.text = '') Then
Begin
Application.MessageBox('Sender must be filled !','Information',MB_OK or MB_IconInformation);
TxtSender.SetFocus;Exit;
End;
If (TxtTo.text = '') Then
Begin
Application.MessageBox('Recipient must be filled !','Information',MB_OK or MB_IconInformation);
TxtTo.SetFocus;Exit;
End;
If (TxtSubject.text = '') Then
Begin
Application.MessageBox('Subject must be filled !','Information',MB_OK or MB_IconInformation);
TxtSubject.SetFocus;Exit;
End;
If (Txtbody.text = '') Then
Begin
Application.MessageBox('Body must be filled !','Information',MB_OK or MB_IconInformation);
Txtbody.SetFocus;Exit;
End;
If (TxtSmtpName.text = '') Then
Begin
Application.MessageBox('Smtp name must be filled !','Information',MB_OK or MB_IconInformation);
TxtSmtpName.SetFocus;Exit;
End;
If (TxtSmtpPort.text = '') Then
Begin
Application.MessageBox('Smtp port must be filled !','Information',MB_OK or MB_IconInformation);
TxtSmtpPort.SetFocus;Exit;
End;
If (TxtSmtpUser.text = '') Then
Begin
Application.MessageBox('Smtp user name must be filled !','Information',MB_OK or MB_IconInformation);
TxtSmtpUser.SetFocus;Exit;
End;
If (TxtSmtpPwd.text = '') Then
Begin
Application.MessageBox('Smtp password must be filled !','Information',MB_OK or MB_IconInformation);
TxtSmtpPwd.SetFocus;Exit;
End;
If (Txtbody.text = '') Then
Begin
Application.MessageBox('Body must be filled !','Information',MB_OK or MB_IconInformation);
Txtbody.SetFocus;Exit;
End;

with IdMessage1 do
begin
Recipients.EMailAddresses :=TxtTo.Text;
From.Address :=TxtSender.Text;
From.Name :=TxtSender.Text;
CCList.EMailAddresses :=TxtCc.Text;
BccList.EMailAddresses :=TxtBcc.Text;
Priority :=mpNormal;
Subject :=TxtSubject.Text;
Body.Add(TxtBody.Text);
end;

with IdSMTP1 do
begin
Host :=TxtSmtpName.Text;
Username :=TxtSmtpUser.Text;
Password :=TxtSmtpPwd.Text;
IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(Self);
Port := 465;
UseTLS := utUseImplicitTLS;

try
Connect;
except
end;

if not Connected then
begin
Showmessage('Error');
Exit;
end;

try
Send(IdMessage1);
finally
Disconnect;
end;

end;
end;

procedure TForm1.BtnSettingClick(Sender: TObject);
begin
self.Width:=661;
BtnSetting.Visible:=False;
BtnCloseSetting.Visible:=True;
self.Left:=(screen.Width-self.Width) div 2;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
TxtBody.Text:='';
self.Width:=334;
BtnSetting.Visible:=True;
BtnCloseSetting.Visible:=False;
TxtSmtpName.Text:='smtp.gmail.com';
TxtSmtpPort.Text:='465';
end;

end.

[/code]

 

Selesai. Silahkan dicoba dan dijalankan aplikasinya. Untuk lebih jelas terutama buat kamu yang masih pemula tentu akan sedikit kebingungan. Jadi silahkan tonton saja video-video saya yang ada dibawah ini.



Tutorial video mengirim email melalui Delphi XE


https://www.youtube.com/watch?v=wAzjl6sO0rs

Kalau artikel dan videonya bermanfaat, saya harap kalian mau klik like, share and subscribe channel saya tersebut.

Semoga bermanfaat. Silahkan tinggalkan komentar dan apabila ada pertanyaan kamu bisa sampaikan ke saya. Siapa tahu saya bisa bantu. Sampai jumpa🙂


https://www.youtube.com/watch?v=2yAy-o7uqj8

https://www.youtube.com/watch?v=6I2PSzclWZc

https://www.youtube.com/watch?v=ntTGP2wO-r8


Tonton video saya mengenai :


Video tutorial cara mengirim email menggunakan VB.NET melalui account Gmail


Panduan cara instal modul addon di odoo9 buat para pemula


cara menambahkan addon show sheets with full width


tutorial cara mengenal dan membuat form di aplikasi delphi-XE ala yadishare


delphi touchkeyboard component for touch screen computer – yadishare


how to make barcode label printing with delphiXE using fastreport – yadishare


How to hide delphi form to system tray – yadishare


tutorial membuat video dengan camstudio – yadishare

Comments

  1. Terima kasih artikelnya mas, bagus..

    ada pertanyaan:
    saya coba di laptop saya bisa kirim email. tapi begitu saya coba di komputer kantor ada error, "error conection" tidak bisa koneksi.

    saat coba koneksi disini:
    try
    Connect;
    except
    end;

    if not Connected then
    begin
    Showmessage('Error');
    Exit;
    end;

    windowsnya di laptop sama2 windows 7.

    bisa bantu pencerahan pak, solusinya bgmn?
    apa ada komponen atau file yg perlu dicopykan ke komputer di kantor?

    terima kasih...

    ReplyDelete

Post a Comment

Popular posts from this blog

Tips Jitu Cara Mengatasi Error Pada Saat Compile Aplikasi Menggunakan Visual Basic 6

Sebenarnya ada banyak sekali nih project yang harus saya kerjakan dikantor. Namun terkadang apa yang kita rencanakan sering kali berbeda dengan kenyataan. Maksud hati ingin focus dulu ke satu project, tapi karena adanya satu dan lain hal, akhirnya terpaksa deh harus melakukan modifikasi dan membuka project lama yang sebenarnya saya sudah malas untuk berhubungan lagi dengannya :) Project ini sudah dibangun dari awal tahun 2000-an, jauh sebelum saya join. Ya intinya saya dapat warisannya lah seperti itu. Di bangun masih dengan menggunakan vb5-vb6 waktu itu. Sekarang sudah tahun 2016. Jadi sudah lama ya sob. Sudah ketinggalan jaman lah kurang lebih. Meskipun sudah tua, tapi menurut saya visual basic tetap menjadi bahasa pemrograman yang masih powerful. Masalah Kompatibilitas Nah masalah terbesar dalam menggunakan program-program lawas seperti itu biasanya ada pada kompatibilitas component-componentnya. Karena hardware dan os yang kita gunakan biasanya akan berubah seiring waktu. Jika soba...

Youtube Tips 2017 | Cara Mengganti Dark Theme

Pada kesempatan ini saya ingin membahas seputar layout youtube terbaru tahun 2017. Yaitu mengenai cara mengganti tema atau theme baru yang bisa kita temui pada saat kita membuka situs youtube. Mungkin fitur baru ini sengaja disediakan oleh google agar kita tidak jenuh atau bosan dengan tampilan youtube yang itu-itu saja. Fitur ini bisa anda aktifkan dan non aktifkan sesuai dengan selera anda kapan pun anda mau. Kalau menurut saya sih cukup keren. Makanya ketika saya tahu kalau mereka menyediakan fitur tersebut, saya langsung tertarik untuk mencobanya. Dan kesan yang saya dapatkan cukup memuaskan. Karena pada dasarnya saya sebagai developer atau programmer memang sudah terbiasa dengan layout bertema gelap seperti itu. Untuk melihat coding-coding php, vb, dan lain-lain lebih mudah untuk membedakan syntax yang satu dengan syntax yang lainnya. Nah jika anda tertarik untuk mencoba dark theme baru tersebut, kalian bisa langsung menggantinya melalui menu setting. Disana akan ada opsi untuk me...

Belajar PHP Itu Menyenangkan (Memahami Syntax Dasar PHP)

Ngga tahu kenapa saya lagi bersemangat sekali nulis artikel tentang php. Padahal sudah malam nih. Sudah jam 22:40. Waktunya tidur karena besok mesti kerja lagi dan ngga boleh kesiangan pula tuk bangun sholat subuh. Mungkin karena saya merasa kalau saya punya hutang kepada sobat yadishare semua bahwa selama ini saya jarang sekali nulis tentang php. Lebih banyak nulis dan bikin video tentang delphi, visual basic, odoo, photoshop, cara bikin video, grafik, database dan lain-lain. Nah berhubung lagi ada kesempatan dan masih diberikan kesehatan sama yang maha kuasa, jadi saya mau cicil saja sharing tentang php nya dari hal-hal yang sangat sederhana sekali ya. Karena untuk memahami materi bahasa pemrograman tertentu terkadang memang tidak mudah. Termasuk mengenai php. Apalagi untuk menguasai banyak bahasa pemrograman pasti tidak akan mudah. Butuh keseriusan dari diri kita masing-masing. Ibaratnya dulu kalau sekolah kita mungkin suka malas belajar matematika, fisika, kimia, dan lain-lain. Ket...