2015-01-07 6 views
1

동적 텍스트가있는 차트를 표시하는 자동 일일 전자 메일을 만들기 위해 R로 만든 JPEG 이미지를 전자 메일에 포함하려고합니다. 이미지를 첨부하고 경합 ID를 지정할 수있었습니다. 그러나 메시지를 보내고 Outlook에서 결과를 열면 이미지가 있어야하는 곳에 물음표가 표시됩니다. 이미지가 실제로 전자 메일에 제대로 첨부되지만 이미지가 HTML에서 인라인으로 렌더링되지 않는 것처럼 보입니다. 무슨 일이 일어나고 있는지에mailR을 사용하여 인라인 이미지 보내기

library(mailR) 

send.mail(from = "[email protected]", 
      to = "[email protected]", 
      subject = paste("Results for the date ending ", Sys.Date()-1, sep = ""), 
      body = '<html> Test image - <img src="cid:test_img.jpg" /></html>', 
      html = TRUE, 
      smtp = list(host.name = "xxx.xxx.com", user.name = "[email protected]", passwd = "xxx"), 
      attach.files = '/Users/xxx/Documents/Rplots/test_img.jpg', 
      authenticate = TRUE, 
      inline = TRUE, 
      send = TRUE) 

어떤 아이디어 :

여기 내 예제 코드인가? 여기

+3

아마도 필터 일뿐입니다. 이메일에 너무 많은 "xxx"가 있기 때문에 Outlook은 아마 포르노라고 생각하고 자신의 안전을 위해 그것을 차단합니다. – Dason

+0

x는 내 실제 전자 메일, 암호 등을 막히기위한 것입니다. 그들은 실제로 제 코드에 들어 있지 않습니다. – Bryan

+0

아, 알아요. 텍스트만으로 농담을 전달하는 것이 항상 어렵습니다. – Dason

답변

2

는 작업의 Gmail 예입니다

library(mailR) 
png(file.path(getwd(), "..", "img.png")); plot(0); dev.off() 
# Gmail users may have to switch https://www.google.com/settings/security/lesssecureapps before the send 
send.mail(from = "[email protected]", 
      to = "[email protected]", 
      subject = "Subject of the email", 
      body = '<img src="../img.png">', 
      html = TRUE, 
      inline = TRUE, 
      smtp = list(host.name = "smtp.gmail.com", 
         port = 465, 
         user.name = "...", 
         passwd = "...", 
         ssl = TRUE), 
      authenticate = TRUE, 
      send = TRUE) 

당신이 언급 한 here로 작업 디렉토리에 상대 경로를 참조해야하고, - 물론 - 데이터에 의한 교환 ...을.

+0

쿨 - 예, 트릭은 소스로 이미지에 로컬 경로를 추가하는 것입니다. 최종 HTML은 다음과 같습니다. . – Bryan