· 9 years ago · Sep 05, 2016, 12:28 AM
1library(mailR)
2library(rfoaas)
3
4hateMail <- function(s.email, s.password, s.name, r.email, r.name, title = 'hi',
5 n = 1, delay = 10, verbose = TRUE, SHOUT = FALSE,
6 ...){
7 if(grepl('@gmail.com', s.email) != TRUE){
8 stop('The sender email must be a Gmail account!')
9 }
10
11 # repeat n times
12 for(i in seq(n)){
13
14 # apply SHOUTCLOUD filter
15 if(SHOUT == TRUE){
16 fo.txt <- rfoaas::getRandomFO(name = r.name, from = s.name,
17 filter = 'shoutcloud', ...)
18 }
19 else{
20 fo.txt <- rfoaas::getRandomFO(name = r.name, from = s.name, ...)
21 }
22
23 # make sure '@gmail.com' isn't in s.email string
24 if(grepl('@gmail.com', s.email)){
25 s.email <- substr(s.email, 0, nchar(s.email)-nchar('@gmail.com'))
26 }
27
28 if(grepl('@', r.email) != TRUE){
29 stop('Please enter a valid recipient email address (with domain name)')
30 }
31
32 mailR::send.mail(from = paste0(s.email, '@gmail.com'),
33 to = r.email,
34 subject = title,
35 body = fo.txt,
36 authenticate = TRUE,
37 smtp = list(host.name = 'smtp.gmail.com',
38 user.name = s.email,
39 passwd = s.password,
40 ssl = TRUE
41 )
42 )
43 if(verbose == TRUE){
44 cat(paste0('You have sent an email to ', r.name, '!\n',
45 'The emails says:\n\n', fo.txt, '\n'))
46 }
47 if(n > 1){
48 Sys.sleep(delay)
49 }
50 }
51}