Отправить почту R и сокеты

Я пытаюсь использовать функцию SendMailR, я проверил в нашем ИТ-отделе, что я использую правильный сервер, и у меня есть необходимые разрешения для подключения, и они отправили электронные письма через этот сервер, но не через R, и я также проверил, что порт должен быть 25.

Код:

# E-Mail #

library(sendmailR)

from <- "david@work.com"
to <- "adam@work.com"
subject <- "Send Mail R- Test"
body <- "TESTING TESTING TESTING"                     
mailControl=list(smtpServer="uksmtp.global.local")

sendmail(from=from,to=to,subject=subject,msg=body,control=mailControl)

Я получаю следующую ошибку:

function (host = "localhost", port, server = FALSE, blocking = FALSE, 
open = "a+", encoding = getOption("encoding"), timeout = getOption("timeout")) 
.Internal(socketConnection(host, port, server, blocking, open, 
encoding, timeout))
<bytecode: 0x00000000071beb18>
<environment: namespace:base>

Итак, я решил, что это ошибка или мне нужно было определить новое соединение с сокетом, в этом ли проблема? Может ли кто-нибудь дать мне какие-либо указания о том, куда идти дальше с этим, чтобы заставить его работать?

заранее спасибо

2 ответа

Хотя это не ответ на ваш вопрос, вы можете проверить mail пакет, который предлагает альтернативный способ отправки почты через внешний почтовый сервер и адрес:

require(mail)
sendmail("adam@work.com", "Send Mail R- Test", "TESTING TESTING TESTING")

Обратите внимание, что таким образом вы можете отправлять только 20 писем в день (чтобы избежать спама).

Вы можете дать новый пакет mailR, который позволяет SMTP-авторизацию: http://cran.r-project.org/web/packages/mailR

Затем должен работать следующий вызов:

send.mail(from = "sender@gmail.com",
          to = "recipient@gmail.com",
          subject = "Subject of the email",
          body = "Body of the email",
          smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = "recipient", passwd = "PASSWORD", ssl = TRUE, tls = TRUE),
          authenticate = TRUE,
          send = TRUE)

Просто замените пары ключ-значение в параметре smtp и вы должны быть готовы к работе.

Другие вопросы по тегам