no help do pacote diz ter uma função 'sendmail_options'
com um parametro 'smtpPortSMTP' especificamente
para mudar a porta 25.
-----------
• smtpPortSMTP port to use. Usually 25 but some institutions
require the use of the submission service (port 587).
----------
talvez vale a pena fazer um ultimo teste com esse detalhe...
não vi a thread toda, se já tentou isso, me desculpe pela bola fora,
caso não, fica a dica
cleber
Em 13/03/2013 17:31, Pedro Emmanuel Alvarenga Americano do Brasil escreveu:
Daniel,
Quando voce diz um sendmail externo seria do tipo ter um thunderbird configurado e o bat executaria o thunderbird e mandaria a mensagem com o arquivo anexado?
Bom... tem alguns bacanas na internet que ja colocaram umas coisas assim, mas se for assim, eu preferiria fazer manualmente mesmo. Eu queria simplificar e não complicar.
Quanto a função send.email na mensagem anterior, voce tem algum comentário porque dá aquele erro de conexão?
Abraço,
Dr. Pedro Emmanuel A. A. do BrasilCurriculum Lattes: http://lattes.cnpq.br/6597654894290806
Instituto de Pesquisa Clínica Evandro Chagas
Fundação Oswaldo Cruz
Rio de Janeiro - Brasil
Av. Brasil 4365,
CEP 21040-360,
Tel 55 21 3865-9648
email: pedro.brasil@ipec.fiocruz.br
email: emmanuel.brasil@gmail.com
---Apoio aos softwares livres
www.zotero.org - gerenciamento de referências bibliográficas.
www.broffice.org ou www.libreoffice.org - textos, planilhas ou apresentações.
www.epidata.dk - entrada de dados.
www.r-project.org - análise de dados.
www.ubuntu.com - sistema operacional
Em 13 de março de 2013 17:34, Daniel Ikenaga <oladani@gmail.com> escreveu:
Fiz alguns testes, mas, é mesmo a limitação do package. Não é possível mudar a porta 25. Nãoconsegui criar uma porta 25 em um servidor para testar.
Penso em duas saídas:
Instalar um servidor com porta 25, o que acho arriscado, pois facilmente cairia na black list e spam,ou fazer um bat num sendmail externo para ler a atualização de um arquivo que seria salvo do R.
Abraços
Daniel Ikenaga
@dialetica
2013/3/13 Pedro Emmanuel Alvarenga Americano do Brasil <emmanuel.brasil@gmail.com>
Daniel,
Mesmo mudando a porta, a messagem de erro continua. Acredito que dentro da função deve ter um bug que mantem a porta 25 apesar de informar outra porta como argumento da função.
> sendmail(from, to, subject, body,control=list(smtpPortSMTP=587,verboseShow=TRUE,smtpServer="ASPMX.L.GOOGLE.COM"))Erro em socketConnection(host = server, port = port, blocking = TRUE) :não é possível abrir a conexãoAlém disso: Mensagens de aviso perdidas:In socketConnection(host = server, port = port, blocking = TRUE) :ASPMX.L.GOOGLE.COM:25 cannot be opened
Por enquanto vou fazendo manualmente mesmo.
Abraço forte,
Dr. Pedro Emmanuel A. A. do BrasilCurriculum Lattes: http://lattes.cnpq.br/6597654894290806
Instituto de Pesquisa Clínica Evandro Chagas
Fundação Oswaldo Cruz
Rio de Janeiro - Brasil
Av. Brasil 4365,
CEP 21040-360,
Tel 55 21 3865-9648
email: pedro.brasil@ipec.fiocruz.br
email: emmanuel.brasil@gmail.com
---Apoio aos softwares livres
www.zotero.org - gerenciamento de referências bibliográficas.
www.broffice.org ou www.libreoffice.org - textos, planilhas ou apresentações.
www.epidata.dk - entrada de dados.
www.r-project.org - análise de dados.
www.ubuntu.com - sistema operacional
Em 12 de março de 2013 15:16, Daniel Ikenaga <oladani@gmail.com> escreveu:
Desconheço a utilização avançada de R, mas teu problema não seria na porta 25?
Faz mais de 2 mês que o Google não opera mais com a porta 25, só com a 587 em SSL, daí,se não houver compatibilidade com smtp em ssl, fosse o caso de usar outro servidor.
On Mon, Mar 11, 2013 at 10:23 AM, Pedro Emmanuel Alvarenga Americano do Brasil <emmanuel.brasil@gmail.com> wrote:
_______________________________________________Amigos de R,
Sei que essa questão volta algumas vezes na lista mas estou empacado. Estou fazendo um data management de um projeto em que consiste em repetidas vezes, tipo toda semana, verificar quantos voluntários entraram no proejto, dados inconsistentes, dados ausentes e coisas assim. Então, eu consegui fazer um script para esse fim em que gera um arquivo com algumas tabelas e graficos.
Agora eu gostaria de incluir nesse script o envio de um email pra mim mesmo com esse arquivo, para que eu possa verificar e depois encaminhar para os outros participantes. Sei que existe o sendmailR, mas não estou conseguindo fazer funcionar. Encontrei um catatau de gente referindo o mesmo erro em diversos diferentes foruns:
> sendmail(from, to, subject, body,control=list(smtpServer="ASPMX.L.GOOGLE.COM"))Erro em socketConnection(host = server, port = port, blocking = TRUE) :não é possível abrir a conexãoAlém disso: Mensagens de aviso perdidas:In socketConnection(host = server, port = port, blocking = TRUE) :ASPMX.L.GOOGLE.COM:25 cannot be opened
Depois, consegui encontrar essa função em um dos foruns. O autor fala que funciona, mas comigo tem dado um erro de conectividade e eu não sabendo como dar a volta nesse erro. Será que tem alguma relação com o proxy?
> send.emailfunction(to, from, subject,message, attachment=NULL,username, password,server="smtp.gmail.com:587",confirmBeforeSend=TRUE){# to: a list object of length 1. Using list("Recipient" = "recip@somewhere.net") will send the message to the address but# the name will appear instead of the address.# from: a list object of length 1. Same behavior as 'to'# subject: Character(1) giving the subject line.# message: Character(1) giving the body of the message# attachment: Character(1) giving the location of the attachment# username: character(1) giving the username. If missing and you are using Windows, R will prompt you for the username.# password: character(1) giving the password. If missing and you are using Windows, R will prompt you for the password.# server: character(1) giving the smtp server.# confirmBeforeSend: Logical. If True, a dialog box appears seeking confirmation before sending the e-mail. This is to# prevent me to send multiple updates to a collaborator while I am working interactively.if (!is.list(to) | !is.list(from)) stop("'to' and 'from' must be lists")if (length(from) > 1) stop("'from' must have length 1")if (length(to) > 1) stop("'send.email' currently only supports one recipient e-mail address")if (length(attachment) > 1) stop("'send.email' can currently send only one attachment")if (length(message) > 1){stop("'message' must be of length 1")message <- paste(message, collapse="\\n\\n")}if (is.null(names(to))) names(to) <- toif (is.null(names(from))) names(from) <- fromif (!is.null(attachment)) if (!file.exists(attachment)) stop(paste("'", attachment, "' does not exist!", sep=""))if (missing(username)) username <- winDialogString("Please enter your e-mail username", "")if (missing(password)) password <- winDialogString("Please enter your e-mail password", "")require(rJython)rJython <- rJython()
rJython$exec("import smtplib")rJython$exec("import os")rJython$exec("from email.MIMEMultipart import MIMEMultipart")rJython$exec("from email.MIMEBase import MIMEBase")rJython$exec("from email.MIMEText import MIMEText")rJython$exec("from email.Utils import COMMASPACE, formatdate")rJython$exec("from email import Encoders")rJython$exec("import email.utils")
mail<-c(#Email settingspaste("fromaddr = '", from, "'", sep=""),paste("toaddrs = '", to, "'", sep=""),"msg = MIMEMultipart()",paste("msg.attach(MIMEText('", message, "'))", sep=""),paste("msg['From'] = email.utils.formataddr(('", names(from), "', fromaddr))", sep=""),paste("msg['To'] = email.utils.formataddr(('", names(to), "', toaddrs))", sep=""),paste("msg['Subject'] = '", subject, "'", sep=""))if (!is.null(attachment)){mail <- c(mail,paste("f = '", attachment, "'", sep=""),"part=MIMEBase('application', 'octet-stream')","part.set_payload(open(f, 'rb').read())","Encoders.encode_base64(part)","part.add_header('Content-Disposition', 'attachment; filename=\"%s\"' % os.path.basename(f))","msg.attach(part)")}
#SMTP server credentialsmail <- c(mail,paste("username = '", username, "'", sep=""),paste("password = '", password, "'", sep=""),
#Set SMTP server and send email, e.g., google mail SMTP serverpaste("server = smtplib.SMTP('", server, "')", sep=""),"server.ehlo()","server.starttls()","server.ehlo()","server.login(username,password)","server.sendmail(fromaddr, toaddrs, msg.as_string())","server.quit()")
message.details <-paste("To: ", names(to), " (", unlist(to), ")", "\n","From: ", names(from), " (", unlist(from), ")", "\n","Using server: ", server, "\n","Subject: ", subject, "\n","With Attachments: ", attachment, "\n","And the message:\n", message, "\n", sep="")
if (confirmBeforeSend)SEND <- winDialog("yesnocancel", paste("Are you sure you want to send this e-mail to ", unlist(to), "?", sep=""))else SEND <- "YES"if (SEND %in% "YES"){jython.exec(rJython,mail)cat(message.details)}else cat("E-mail Delivery was Canceled by the User")}
from <- list("Recipient" = "emmanuel.brasil@gmail.com")to <- list("Recipient" = "emmanuel.brasil@gmail.com")subject <- paste0("Pendencias Nomograma de ",Sys.time())message <- "Mensagem automática com relatório de pendências do projeto Nomograma."attachment <- 'c:/banco/nomograma/Controle_recrutamento.doc'> send.email(to,from,subject,message,attachment,'emmanuel.brasil@gmail.com','...',confirmBeforeSend=FALSE)
Erro em jython.exec(rJython, mail) : (62, 'Connection refused')
Qualquer luz é bem vinda.
Abraço forte,
Dr. Pedro Emmanuel A. A. do BrasilCurriculum Lattes: http://lattes.cnpq.br/6597654894290806
Instituto de Pesquisa Clínica Evandro Chagas
Fundação Oswaldo Cruz
Rio de Janeiro - Brasil
Av. Brasil 4365,
CEP 21040-360,
Tel 55 21 3865-9648
email: pedro.brasil@ipec.fiocruz.br
email: emmanuel.brasil@gmail.com
---Apoio aos softwares livres
www.zotero.org - gerenciamento de referências bibliográficas.
www.broffice.org ou www.libreoffice.org - textos, planilhas ou apresentações.
www.epidata.dk - entrada de dados.
www.r-project.org - análise de dados.
www.ubuntu.com - sistema operacional
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.