1 Objektive

Mengirim pesan surel (email) melalui akun Gmail dari R.

2 Load Package

Package gmailr memberikan kemudahan ketika kita membutuhkan proses mengirim email dari R melalui sebuah program.

# install.packages("gmailr")
# # or
# devtools::install_github("jimhester/gmailr")
library(gmailr)

3 Compose Message

msgbody <- "Hi, %s."
msg <- mime() %>%
  from("your@gmail.com") %>%
  to("send_to@email.com") %>%
  text_body(sprintf(msgbody, "Aep Hidayatuloh"))

4 Send Message

msg %>% 
  send_message()
# Use a local file to cache OAuth access credentials between R sessions?
# 1: Yes
# 2: No
# 
# Selection: 

Saya sarankan untuk memilih Selection: 1 (ketik 1 di console) untuk menyimpan data login Anda dalam sebuah file di local folder Anda.

Selanjutnya Anda akan diarahkan pada sebauh halam web untuk login akun gmail Anda.

Lakukan login pada akun gmail Anda dengan memasukkan alamat email dan password. Anda tidak perlu khawatir tentang keamanan akun Anda.

Jika Anda memiliki beberapa akun gmail yang masih login di browser Anda, maka pilih akun yg Anda tuliskan pada bagian to(...).

Setelah memasukkan alamat email dan password, kemudian login. Selanjutnya Anda akan diarahkan pada halam seperti pada gambar di atas. Pilih Lanjutan atau Advance, kemudian pilih seperti pada gambar di bawah ini.

Setelah itu akan muncul halaman seperti pada gambar di bawah ini. Pilih Izinkan.

Terakhir akan muncul sebuah tampilan dengan tulisan

Authentication complete. Please close this page and return to R.

Artinya Anda sudah berhasil melakukan login untuk aplikasi ini. Di dalam folder working directory Anda, akan ada sebuah file dengan nama .httr-oauth. Di file inilah informasi login Anda disimpan untuk kebutuhan login selanjutnya. Ketika Anda akan mengirim email lagi dengan script ini, Anda tidak perlu login lagi.

Setelah itu akan muncul tampilan seperti berikut ini di console R.

Id: <id>
To: 
From: 
Date: 
Subject:

Artinya pesan Anda sudah terkirim.

Fitur ini juga dapat dimanfaatkan sebagai pemberitahuan atau notifikasi dari sebuah program yang membutuhkan waktu proses cukup lama atau program yang rutin dijalankan ketika sudah selesai.

LS0tDQp0aXRsZTogICJTZW5kIEVtYWlsIEZyb20gUiINCmF1dGhvcjogIkJ5IEFlcCBIaWRheWF0dWxvaCINCmRhdGU6ICAgIjIwMTkgSnVseSAyNSINCm91dHB1dDogDQogIGh0bWxfbm90ZWJvb2s6DQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICB0aGVtZTogc3BhY2VsYWINCiAgICBkZl9wcmludDogcGFnZWQNCiAgICB0b2M6IHllcw0KICAgIHRvY19kZXB0aDogNA0KICAgIHRvY19mbG9hdDogdHJ1ZQ0KLS0tDQoNCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoNCmJvZHl7IC8qIE5vcm1hbCAgKi8NCiAgICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgfQ0KdGQgeyAgLyogVGFibGUgICovDQogIGZvbnQtc2l6ZTogMTJweDsNCn0NCmgxLnRpdGxlIHsNCiAgZm9udC1zaXplOiAzOHB4Ow0KICBjb2xvcjogbGlnaHRibHVlOw0KICBmb250LXdlaWdodDogYm9sZDsNCn0NCmgxIHsgLyogSGVhZGVyIDEgKi8NCiAgZm9udC1zaXplOiAyNHB4Ow0KICBjb2xvcjogRGFya0JsdWU7DQp9DQpoMiB7IC8qIEhlYWRlciAyICovDQogIGZvbnQtc2l6ZTogMjBweDsNCiAgY29sb3I6IERhcmtCbHVlOw0KfQ0KaDMgeyAvKiBIZWFkZXIgMyAqLw0KICBmb250LXNpemU6IDE2cHg7DQojICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsNCiAgY29sb3I6IERhcmtCbHVlOw0KfQ0KaDQgeyAvKiBIZWFkZXIgNCAqLw0KICBmb250LXNpemU6IDE0cHg7DQogIGNvbG9yOiBEYXJrQmx1ZTsNCn0NCmNvZGUucnsgLyogQ29kZSBibG9jayAqLw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCn0NCnByZSB7IC8qIENvZGUgYmxvY2sgLSBkZXRlcm1pbmVzIGNvZGUgc3BhY2luZyBiZXR3ZWVuIGxpbmVzICovDQogICAgZm9udC1zaXplOiAxMnB4Ow0KfQ0KPC9zdHlsZT4NCg0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCiNrbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobz1UUlVFLCByZXN1bHRzPSdob2xkJywgd2FybmluZz1GQUxTRSwgZmlnLnNob3c9J2hvbGQnLCBtZXNzYWdlPUZBTFNFKSANCm9wdGlvbnMoc2NpcGVuID0gOTkpDQpgYGANCg0KPHAgYWxpZ249ImNlbnRlciI+DQo8aW1nIHNyYz0iZ21haWxSLnBuZyI+DQo8L3A+DQoNCiMgT2JqZWt0aXZlDQoNCk1lbmdpcmltIHBlc2FuIHN1cmVsIChlbWFpbCkgbWVsYWx1aSBha3VuIEdtYWlsIGRhcmkgUi4NCg0KIyBMb2FkIFBhY2thZ2UNCg0KUGFja2FnZSBgZ21haWxyYCBtZW1iZXJpa2FuIGtlbXVkYWhhbiBrZXRpa2Ega2l0YSBtZW1idXR1aGthbiBwcm9zZXMgbWVuZ2lyaW0gZW1haWwgZGFyaSBSIG1lbGFsdWkgc2VidWFoIHByb2dyYW0uDQoNCmBgYHtyfQ0KIyBpbnN0YWxsLnBhY2thZ2VzKCJnbWFpbHIiKQ0KIyAjIG9yDQojIGRldnRvb2xzOjppbnN0YWxsX2dpdGh1YigiamltaGVzdGVyL2dtYWlsciIpDQpsaWJyYXJ5KGdtYWlscikNCmBgYA0KDQojIENvbXBvc2UgTWVzc2FnZQ0KDQpgYGB7ciBldmFsPUZBTFNFfQ0KbXNnYm9keSA8LSAiSGksICVzLiINCm1zZyA8LSBtaW1lKCkgJT4lDQogIGZyb20oInlvdXJAZ21haWwuY29tIikgJT4lDQogIHRvKCJzZW5kX3RvQGVtYWlsLmNvbSIpICU+JQ0KICB0ZXh0X2JvZHkoc3ByaW50Zihtc2dib2R5LCAiQWVwIEhpZGF5YXR1bG9oIikpDQpgYGANCg0KIyBTZW5kIE1lc3NhZ2UNCg0KYGBge3IgZXZhbD1GQUxTRX0NCm1zZyAlPiUgDQogIHNlbmRfbWVzc2FnZSgpDQpgYGANCg0KYGBgDQojIFVzZSBhIGxvY2FsIGZpbGUgdG8gY2FjaGUgT0F1dGggYWNjZXNzIGNyZWRlbnRpYWxzIGJldHdlZW4gUiBzZXNzaW9ucz8NCiMgMTogWWVzDQojIDI6IE5vDQojIA0KIyBTZWxlY3Rpb246IA0KYGBgDQoNCg0KU2F5YSBzYXJhbmthbiB1bnR1ayBtZW1pbGloIGBTZWxlY3Rpb246IDFgIChrZXRpayAxIGRpIGNvbnNvbGUpIHVudHVrIG1lbnlpbXBhbiBkYXRhIGxvZ2luIEFuZGEgZGFsYW0gc2VidWFoIGZpbGUgZGkgbG9jYWwgZm9sZGVyIEFuZGEuDQoNClNlbGFuanV0bnlhIEFuZGEgYWthbiBkaWFyYWhrYW4gcGFkYSBzZWJhdWggaGFsYW0gd2ViIHVudHVrIGxvZ2luIGFrdW4gZ21haWwgQW5kYS4NCg0KTGFrdWthbiBsb2dpbiBwYWRhIGFrdW4gZ21haWwgQW5kYSBkZW5nYW4gbWVtYXN1a2thbiBhbGFtYXQgZW1haWwgZGFuIHBhc3N3b3JkLiBBbmRhIHRpZGFrIHBlcmx1IGtoYXdhdGlyIHRlbnRhbmcga2VhbWFuYW4gYWt1biBBbmRhLiANCg0KPHAgYWxpZ249ImNlbnRlciI+DQo8aW1nIHNyYz0iZG93bmxvYWQucG5nIj4NCjwvcD4NCg0KSmlrYSBBbmRhIG1lbWlsaWtpIGJlYmVyYXBhIGFrdW4gZ21haWwgeWFuZyBtYXNpaCBsb2dpbiBkaSBicm93c2VyIEFuZGEsIG1ha2EgcGlsaWggYWt1biB5ZyBBbmRhIHR1bGlza2FuIHBhZGEgYmFnaWFuIGB0byguLi4pYC4NCg0KPHAgYWxpZ249ImNlbnRlciI+DQo8aW1nIHNyYz0idmVyaWZpa2FzaSBha3VuLnBuZyI+DQo8L3A+DQoNClNldGVsYWggbWVtYXN1a2thbiBhbGFtYXQgZW1haWwgZGFuIHBhc3N3b3JkLCBrZW11ZGlhbiBsb2dpbi4gU2VsYW5qdXRueWEgQW5kYSBha2FuIGRpYXJhaGthbiBwYWRhIGhhbGFtIHNlcGVydGkgcGFkYSBnYW1iYXIgZGkgYXRhcy4gUGlsaWggYExhbmp1dGFuYCBhdGF1IGBBZHZhbmNlYCwga2VtdWRpYW4gcGlsaWggc2VwZXJ0aSBwYWRhIGdhbWJhciBkaSBiYXdhaCBpbmkuDQoNCjxwIGFsaWduPSJjZW50ZXIiPg0KPGltZyBzcmM9InZlcmlmaWthc2kgYWt1bjIucG5nIj4NCjwvcD4NCg0KU2V0ZWxhaCBpdHUgYWthbiBtdW5jdWwgaGFsYW1hbiBzZXBlcnRpIHBhZGEgZ2FtYmFyIGRpIGJhd2FoIGluaS4gUGlsaWggKipJemlua2FuKiouDQo8cCBhbGlnbj0iY2VudGVyIj4NCjxpbWcgc3JjPSJ2ZXJpZmlrYXNpIGFrdW4gaXppbmthbi5wbmciPg0KPC9wPg0KDQpUZXJha2hpciBha2FuIG11bmN1bCBzZWJ1YWggdGFtcGlsYW4gZGVuZ2FuIHR1bGlzYW4gDQoNCmBgYA0KQXV0aGVudGljYXRpb24gY29tcGxldGUuIFBsZWFzZSBjbG9zZSB0aGlzIHBhZ2UgYW5kIHJldHVybiB0byBSLg0KYGBgDQoNCkFydGlueWEgQW5kYSBzdWRhaCBiZXJoYXNpbCBtZWxha3VrYW4gbG9naW4gdW50dWsgYXBsaWthc2kgaW5pLiBEaSBkYWxhbSBmb2xkZXIgKndvcmtpbmcgZGlyZWN0b3J5KiBBbmRhLCBha2FuIGFkYSBzZWJ1YWggZmlsZSBkZW5nYW4gbmFtYSBgLmh0dHItb2F1dGhgLiBEaSBmaWxlIGluaWxhaCBpbmZvcm1hc2kgbG9naW4gQW5kYSBkaXNpbXBhbiB1bnR1ayBrZWJ1dHVoYW4gbG9naW4gc2VsYW5qdXRueWEuIEtldGlrYSBBbmRhIGFrYW4gbWVuZ2lyaW0gZW1haWwgbGFnaSBkZW5nYW4gc2NyaXB0IGluaSwgQW5kYSB0aWRhayBwZXJsdSBsb2dpbiBsYWdpLg0KDQpTZXRlbGFoIGl0dSBha2FuIG11bmN1bCB0YW1waWxhbiBzZXBlcnRpIGJlcmlrdXQgaW5pIGRpIGNvbnNvbGUgUi4NCg0KYGBgDQpJZDogPGlkPg0KVG86IA0KRnJvbTogDQpEYXRlOiANClN1YmplY3Q6DQpgYGANCg0KQXJ0aW55YSBwZXNhbiBBbmRhIHN1ZGFoIHRlcmtpcmltLg0KDQpGaXR1ciBpbmkganVnYSBkYXBhdCBkaW1hbmZhYXRrYW4gc2ViYWdhaSBwZW1iZXJpdGFodWFuIGF0YXUgbm90aWZpa2FzaSBkYXJpIHNlYnVhaCBwcm9ncmFtIHlhbmcgbWVtYnV0dWhrYW4gd2FrdHUgcHJvc2VzIGN1a3VwIGxhbWEgYXRhdSBwcm9ncmFtIHlhbmcgcnV0aW4gZGlqYWxhbmthbiBrZXRpa2Egc3VkYWggc2VsZXNhaS4=