有没有人有通过Amazon SES(使用Java)发送带有附件的电子邮件的示例?
也许有些迟了,但是您可以使用以下代码(您还需要Java Mail):
public class MailSender
{
private Transport AWSTransport;
...
//Initialize transport
private void initAWSTransport() throws MessagingException
{
String keyID = <your key id>
String secretKey = <your secret key>
MailAWSCredentials credentials = new MailAWSCredentials();
credentials.setCredentials(keyID, secretKey);
AmazonSimpleEmailService ses = new AmazonSimpleEmailServiceClient(credentials);
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "aws");
props.setProperty("mail.aws.user", credentials.getAWSAccessKeyId());
props.setProperty("mail.aws.password", credentials.getAWSSecretKey());
AWSsession = Session.getInstance(props);
AWStransport = new AWSJavaMailTransport(AWSsession, null);
AWStransport.connect();
}
public void sendEmail(byte[] attachment)
{
//mail properties
String senderAddress = <Sender address>;
String recipientAddress = <Recipient address>;
String subject = <Mail subject>;
String text = <Your text>;
String mimeTypeOfText = <MIME type of text part>;
String fileMimeType = <MIME type of your attachment>;
String fileName = <Name of attached file>;
initAWSTransport();
try
{
// Create new message
Message msg = new MimeMessage(AWSsession);
msg.setFrom(new InternetAddress(senderAddress));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(recipientAddress));
msg.setSubject(subject);
//Text part
Multipart multipart = new MimeMultipart();
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(text, mimeTypeOfText);
multipart.addBodyPart(messageBodyPart);
//Attachment part
if (attachment != null && attachment.length != 0)
{
messageBodyPart = new MimeBodyPart();
DataSource source = new ByteArrayDataSource(attachment,fileMimeType);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(fileName);
multipart.addBodyPart(messageBodyPart);
}
msg.setContent(multipart);
//send message
msg.saveChanges();
AWSTransport.sendMessage(msg, null);
} catch (MessagingException e){...}
}
}
问题内容: 我似乎找不到我编写的应该发送带有附件的电子邮件的php函数的问题。我已经为此苦苦挣扎了一段时间了。 编辑 问题是邮件的消息与文件混合在一起并作为附件发送。 问题答案: Artefacto让我更加关注输出,并且找到了解决方法:
问题内容: 我正在尝试在带有附件的codeigniter上发送电子邮件。 我总是成功收到电子邮件。但是,我从未收到带有附件的文件。以下是代码,非常感谢所有评论。 问题答案: $ this- >电子邮件-> attach() 使您可以发送附件。将文件路径/名称放在第一个参数中。注意:使用文件路径,而不是URL。对于多个附件,请多次使用该功能。例如:
我正试图通过console/cron使用CakePHP 1.3电子邮件组件发送电子邮件。电子邮件被发送出去了 通过表单完成后,电子邮件将与附件一起成功发送。我已经尝试添加了$this- 我的代码如下: 所以,基本上我的问题是,当我通过控制台/cron运行外壳脚本时,我如何获得附件发送的电子邮件。 提前谢谢你。
在查看代码之前,请阅读此处: 当我发送(返回方法)时,它会像原始文件一样在电子邮件中发送附件。但当我从数据库中获取并发送时,它会发送损坏的文件。 更新: 主要的问题是,当我从本地驱动器发送文件读取,它发送完美。但如果我发送的数据库获取或任何本地变量文件损坏。 如果你对问题有任何疑问,请在下面评论。多谢了。
我需要在我的应用程序中集成邮件服务。我的应用程序应该发送电子邮件,其中必须附上。pdf文件(详细报告)。PDF文件现在位于远程服务器上。 有人能帮我理解如何在黑莓手机上发送带有pdf附件的邮件吗?如果实施是可行的,那么我将如何实施? 以下是我从Blackberry知识库论坛获得的用Blackberry发送邮件的链接 如何-创建附件 如何创建和发送消息
尝试发送带有pdf附件的电子邮件,尝试使用swickmailer,但没有成功,此代码使用zip但不使用PDF:( 邮件被发送罚款,我得到的邮件:但附件是不存在的,在meial有所有的bas64编码在电子邮件像: onatatent-Type: Application/octet-stream; name="media.pdf"Content-transver-Encode: base 64 Con