我使用elixir Bamboo发送电子邮件
我有一些二进制内容,并希望附加到电子邮件
简单的方法是:
content = <<binary-content>>
File.write("/tmp/myfile.pdf", content )
data = new_email()
|> to(email)
|> from( "email.com")
|> subject("subject")
|> put_attachment("/tmp/myfile.pdf")
|> put_header("Reply-To", "email.com")
|> html_body(html_body)
File.rm("/tmp/myfile.pdf", content )
有没有办法附加文件而不在本地保存? 类似的东西:
content = <<binary-content>>
data = new_email()
|> to(email)
|> from( "email.com")
|> subject("subject")
|> put_attachment(content)
|> put_header("Reply-To", "email.com")
|> html_body(html_body)
答案 0 :(得分:4)
您只需要将put_attachment传递给Bamboo Attachment结构,并填充数据字段,因此:
content = <<binary-content>>
data = new_email()
|> to(email)
|> from( "email.com")
|> subject("subject")
|> put_attachment(%Bamboo.Attachment{filename: "filename.example", data: content})
|> put_header("Reply-To", "email.com")
|> html_body(html_body)