当前位置: 首页 > 知识库问答 >
问题:

使用Mailgun发送带有附件的电子邮件

岳意蕴
2023-03-14

我正在将Mailgun集成到我的iOS应用程序中,并尝试发送带有附件的电子邮件。电子邮件已发送,但附件似乎已被忽略。有什么想法吗?代码如下。我使用的是AFNetworking 2,我没有使用本机的Mailgun Objective-C SDK,因为它似乎没有得到维护。

NSString *path = [NSString stringWithFormat:@"https://api:%@@api.mailgun.net/v3/%@/messages", kTIXMailgunAPIKey, kTIXMailgunDomain];

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithArray:@[ @"text/plain", @"text/html", @"application/json" ] ];

NSData *attachment = [attachments firstObject];

NSDictionary *parameters = @{
                             @"from"            : fromAddress,
                             @"to"              : toAddress,
                             @"subject"         : @"Inline",
                             @"text"            : @"Email body",
                             @"content-type"    : @"multipart/form-data",
                             @"attachment"      : attachment,
                             };
[manager POST:path
   parameters:parameters
      success:^(AFHTTPRequestOperation *operation, id responseObject)
 {
     NSLog(@"Success sending message. Response: %@", responseObject);
 } failure:^(AFHTTPRequestOperation *operation, NSError *error)
 {
     NSLog(@"Error sending message: %@", error);
 }];

我可以使用curl发送附件,例如:

curl -s "https://api:key-
[redacted]@api.mailgun.net/v3/sandbox[redacted].mailgun.org/messages" \
-F from=[redacted]@gmail.com \
-F to=[redacted]@gmail.com \
-F subject='Check this out!' \
-F text='LOL' \
-F attachment=@"lolcat.png"

共有1个答案

穆鸿波
2023-03-14

现在可以使用邮件枪从iOS应用程序中发送附件:

Mailgun *mailgun = [Mailgun clientWithDomain:@"yourdomain.com" apiKey:@"key"];

MGMessage *message = [MGMessage messageFrom:@"Someone <your.address@yourdomain.com>"
                                         to:@"Someone else <someone@else.com>"
                                    subject:@"Hello"
                                       body:@"This is a test email."];

[message addAttachment:[NSData dataWithContentsOfFile:@"filePath"] withName:@"fileName" type:@"fileType"];

[mailgun sendMessage:message success:^(NSString *messageId) {
    NSLog(@"Message %@ sent successfully!", messageId);
} failure:^(NSError *error) {
    NSLog(@"Error sending message. The error was: %@", [error userInfo]);
}];
 类似资料:
  • 我正在使用httplib2和Mailgun API发送我使用Google Drive下载的电子邮件附件,该电子邮件正在发送,但没有附件。。下面是我的代码。。

  • 问题内容: 如何使用Outlook 2010发送带有附件的电子邮件(本地文件或Intranet中的文件)? 似乎不起作用。 问题答案: 不,这根本不可能。协议中对此没有规定,如果可能的话,这将是一个巨大的安全漏洞。 发送文件但让客户端发送我能想到的电子邮件的最佳方法是: 让用户选择一个文件 将文件上传到服务器 上传后让服务器返回随机文件名 在消息正文中建立一个包含上载文件的URL 的链接

  • 问题内容: 我似乎找不到我编写的应该发送带有附件的电子邮件的php函数的问题。我已经为此苦苦挣扎了一段时间了。 编辑 问题是邮件的消息与文件混合在一起并作为附件发送。 问题答案: Artefacto让我更加关注输出,并且找到了解决方法:

  • 问题内容: 我正在尝试在带有附件的codeigniter上发送电子邮件。 我总是成功收到电子邮件。但是,我从未收到带有附件的文件。以下是代码,非常感谢所有评论。 问题答案: $ this- >电子邮件-> attach() 使您可以发送附件。将文件路径/名称放在第一个参数中。注意:使用文件路径,而不是URL。对于多个附件,请多次使用该功能。例如:

  • 有人能告诉我使用phpMailer发送带有附件的电子邮件的步骤吗?我已经准备好了发送电子邮件本身的所有代码,它工作正常,但我不明白如何发送附件。我有表单,如果我从POST上的文件输入中获得值,它只会给我文件名而不是完整路径。我认为为了添加附件,我需要获取文件的完整路径,对吗?我不必将文件存储在服务器上,只需通过电子邮件发送即可。

  • 尝试发送带有pdf附件的电子邮件,尝试使用swickmailer,但没有成功,此代码使用zip但不使用PDF:( 邮件被发送罚款,我得到的邮件:但附件是不存在的,在meial有所有的bas64编码在电子邮件像: onatatent-Type: Application/octet-stream; name="media.pdf"Content-transver-Encode: base 64 Con