2017-05-23 7 views
0

nodemailer을 사용하여 이미지가 포함 된 이메일을 보내지 만 이미지가 일부 이메일 클라이언트 앱 (예 : 썬더 버드)의 메시지 본문에 표시되지 않습니다. Content-Transfer-Encodingquoted-printable으로 설정되어 있기 때문에이 문제가 의심됩니다. 그래서 img 요소의 src 속성 (= 문자 인코딩됩니다) 3D 캐릭터를 추가포함 된 이미지가 이메일 본문에 표시되지 않습니다.

<img src=3D"cid:[email protected]"> 

어떻게 nodemailer에 영구적으로 quoted-printable 인코딩을 해제하려면? 메시지 옵션에 textEncoding: 'base64'을 설정하려했지만 nodemailer가 메시지 옵션을 무시한 것 같습니다.

let message = { 
    from: { 
    name: 'Someone', 
    address: '[email protected]' 
    }, 
    to: { 
    name: sender, 
    address: emailTo.toLowerCase() 
    }, 
    subject: 'Purchased Tickets', 
    html: 'Some text<br><img src="cid:[email protected]"/><br>Some more text<br><img src="cid:[email protected]"/><br>', 
    attachments: ticketList.map((t, i) => ({ 
    filename: `ticket${i + 1}.png`, 
    content: t.qrCode, 
    cid: `${t.ticketNumber}@emailaddress.com` 
    })), 
    encoding: 'base64', 
    textEncoding: 'base64' 
} 

transporter.sendMail(message, (err, info) => { 
    if (err) { 
    console.log(err) 
    } else { 
    console.log(info) 
    } 
}) 

답변

0

일부 이메일에서는 동일한 문제가 있지만 콘텐츠 전송 인코딩과 관련이없는 것 같습니다. 실제로 이미지가

Content-Transfer-Encoding: quoted-printable 

내 메일의 일부에 표시되는 전부는 아니지만 ...

+0

좀 이메일 클라이언트 응용 프로그램과 함께 그것을 시도, 그리고 분명히 일부 디스플레이 그것은 일부는하지 않습니다. –