2016-09-25 3 views
0

Как легко отправить электронное письмо через R?Получать уведомление по электронной почте, когда заканчивается скрипт

с помощью этого

> library(sendmailR) 
> 
> 
> from <- "[email protected]" 
> to <- "[email protected]" 
> subject <- "Performance Result" 
> body <- "This is the result of the test:"      
> mailControl=list(smtpServer="snmpt server address") 
> 
> sendmail(from=from,to=to,subject=subject,msg=body,control=list(smtpServer="ASPMX.L.GOOGLE.COM")) 

Я получаю эту ошибку:

Error in wait_for(code) : 
    SMTP Error: 5.5.2 Syntax error. jp9si1521863wjb.204 - gsmtp 

Я предполагаю, что я должен сделать что-то со стороны Gmail, но то, что я должен сделать?

Я попытался также это для Gmail, используя реальный адрес, но я не получил какой-либо ошибки, но ни какой-либо электронной почте

library(mailR) 
sender <- "[email protected]" # Replace with a valid address 
recipients <- c("[email protected]") # Replace with one or more valid addresses 
email <- send.mail(from = sender, 
to = recipients, 
subject="Subject of the email", 
body = "Body of the email", 
smtp = list(host.name = "aspmx.l.google.com", port = 25), 
authenticate = FALSE, 
send = FALSE) 
+0

Также gmailr подходит, но как я могу сделать это на сервере без необходимости входа в систему, когда программа закончится. Я попробовал эту ручную библиотеку (gmailr); gmail_auth («compose»); insert_message (mime (From = "[email protected]", To = "[email protected]", Subject = "hello", "how вы делаете? »))' , но это не помогает – Elen

+0

В этой теме есть около дюжины других сообщений в StackOverflow, которые должны отвечать на все ваши вопросы –

ответ

0

Это работает для меня с немного разными настройками SMTP (имя хоста, порт и SSL и добавление user.name и passwd), а также с 'authenticate' и 'send' изменено на TRUE.

library(mailR) 
send.mail(from = sender, 
     to = recipients, 
     subject = "Subject of the email", 
     body = "Body of the email", 
     smtp = list(host.name = "smtp.gmail.com", port = 465, 
        user.name = sender, 
        passwd = "senders_password", ssl = TRUE), 
     authenticate = TRUE, 
     send = TRUE)