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 Brasil Curriculum 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: [email protected] email: [email protected] ---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 <[email protected]> escreveu: > Fiz alguns testes, mas, é mesmo a limitação do package. Não é possível > mudar a porta 25. Não > consegui 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* <http://twitter.com/dialetica> > > > 2013/3/13 Pedro Emmanuel Alvarenga Americano do Brasil < > [email protected]> > >> 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ão >> Alé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 Brasil >> Curriculum 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: [email protected] >> email: [email protected] >> >> ---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 <[email protected]>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. >>> >>> >>> Abraços >>> >>> Daniel Ikenaga >>> *@dialetica* <http://twitter.com/dialetica> >>> >>> >>> On Mon, Mar 11, 2013 at 10:23 AM, Pedro Emmanuel Alvarenga Americano do >>> Brasil <[email protected]> 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ão >>>> Alé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.email >>>> function(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" = " >>>> [email protected]") 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) <- to >>>> if (is.null(names(from))) names(from) <- from >>>> if (!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 settings >>>> paste("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 credentials >>>> mail <- c(mail, >>>> paste("username = '", username, "'", sep=""), >>>> paste("password = '", password, "'", sep=""), >>>> >>>> #Set SMTP server and send email, e.g., google mail SMTP server >>>> paste("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" = "[email protected]") >>>> to <- list("Recipient" = "[email protected]") >>>> 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,' >>>> [email protected]','...',confirmBeforeSend=FALSE) >>>> Erro em jython.exec(rJython, mail) : (62, 'Connection refused') >>>> >>>> Qualquer luz é bem vinda. >>>> >>>> Abraço forte, >>>> >>>> Dr. Pedro Emmanuel A. A. do Brasil >>>> Curriculum 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: [email protected] >>>> email: [email protected] >>>> >>>> ---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 >>>> [email protected] >>>> 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 >>> [email protected] >>> 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 >> [email protected] >> 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 > [email protected] > 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 [email protected] 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.
