我们尝试从SMTP服务器读取邮件,并将其详细信息作为blob保存到DB。下面是我们编写的示例代码。
String sql = "INSERT INTO mail_data (msg_subject, msg_from, msg_received_date, msg_content) values (?, ?, ?, ?)";
jdbcTemplate.update(sql, new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps) throws SQLException {
try {
ps.setString(1, message.getSubject());
ps.setString(2, message.getFrom()[0].toString());
ps.setDate(3, new Date(message.getReceivedDate().getTime()));
lobHandler.getLobCreator().setBlobAsBinaryStream(ps, 4, message.getInputStream(), message.getSize());
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
iOS开发人员再次通过API调用将其作为json响应读回来,我们将响应设置为text / html。它有一些随机值作为页眉和页脚。除此之外,我们还没有显示图像。
如果我们缺少某些编码或其他东西,请告诉我们。他们将公司的徽标作为内嵌图片,基本编码64.所以基本上是图像的垃圾。