[R] Does R have a command for sending emails?
OlsenN@pac.dfo-mpo.gc.ca
OlsenN at pac.dfo-mpo.gc.ca
Tue May 10 17:39:27 CEST 2005
At the risk of beating this to death ... if you use Outlook mail on Windows,
you can create a simple 'sendmail' vbscript:
' ==== start ===
Dim pOutlook, pMail, fso, f
Set pOutlook = CreateObject("Outlook.Application")
Set pMail = pOutlook.CreateItem(olMailItem)
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(WScript.Arguments(2), 1)
With pMail
.To = WScript.Arguments(0)
.Subject = WScript.Arguments(1)
.Body = f.ReadAll()
.Send
End With
f.Close()
' ==== end ====
And then call this from R:
send.mail <- function(addr, subject, source.file) {
mail.cmd <-
paste(paste(Sys.getenv("SystemRoot"),"/system32/wscript.exe",sep=""),
"sendmail.vbs", addr, dQuote(subject), source.file, sep=" ")
system(mail.cmd, intern=F)
}
Note that if sendmail.vbs is not in the current R working directory you have
to provide a full path.
Norm Olsen
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Fernando Saldanha
Sent: Tuesday, May 10, 2005 6:28 AM
To: Submissions to R help
Subject: Re: [R] Does R have a command for sending emails?
I want to thank all who have offered help on this topic. I was able to
create a very simple email function that I have tested to work under Windows
XP Professional and R 2.1.0. It uses Blat version 1.9.4.
send.mail<-function(addr, subject, source.file) {
mail.cmd <- paste("Blat", source.file, "-subject", dQuote(subject), "-to",
addr, separator = " ", collapse = "")
system(mail.cmd, intern = FALSE)
}
The string source.file must have double backslashes instead of single
backslashes. For example:
C:\\myfolder
One must first install Blat version 1.9.4, available at
http://www.blat.net/194/.
All that is needed is to unzip the downloaded file (Blat194.zip) and copy
Blat.exe to a folder in the path. The other files inside Blat194.zip can be
discarded.
FS
On 5/10/05, Frank E Harrell Jr <f.harrell at vanderbilt.edu> wrote:
> Fernando Saldanha wrote:
> > Is there a way to have an R program send an email?
> >
> > Something like this:
> >
> > address <- 'abc at d.com'
> > text <- 'This is the email body'
> > send.email(address, text)
> >
> > Thanks.
> >
> > FS
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide!
> > http://www.R-project.org/posting-guide.html
> >
>
> Under Linux/Unix you can use code such as the following. This handles
> kmail and mail.
>
> if(mailer=='kmail') {
> tf <- tempfile()
> cat(cmd, file=tf)
> to <- paste('"', paste(to, collapse=','), '"', sep='')
> if(length(cc)) cc <- paste(' -c "', paste(cc,
> collapse=','),'"',sep='')
> if(length(bcc)) bcc <- paste(' -b "', paste(bcc,
> collapse=','),'"',sep='')
> } else {
> to <- paste(to, collapse=' ')
> if(length(cc)) cc <- paste(paste(' -c', cc), collapse='')
> if(length(bcc)) bcc <- paste(paste(' -b', bcc),collapse='')
> }
> cmd <- if(mailer=='kmail') paste('kmail -s "', title, '"', cc,
> bcc, ' --msg ', tf, ' ', to, sep='') else
> paste('echo -e "', cmd, '" | mail -s "',
> title, ' Reports"', cc, bcc, ' ', to, sep='')
> system(cmd)
>
> --
> Frank E Harrell Jr Professor and Chair School of Medicine
> Department of Biostatistics Vanderbilt University
>
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list