KRNSendEmail 0.0.2

KRNSendEmail 0.0.2

测试测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2017年3月

Julian Drapaylo 维护。



  • Julian Drapaylo

KRNSendEmail 是一个帮助您从 iOS 应用程序中发送电子邮件的简单类。

如何使用

KRNSendEmail 的所有方法都是静态的,因此您可以直接调用任何方法,无需分配 KRNSendEmail 实例。

检查系统是否支持发送电子邮件

在发送电子邮件之前,您应该检查您的系统是否支持此操作。使用方法 +(BOOL)canSend 进行此目的。

  if ([KRNSendEmail canSend]) {
    // call method to send email
}

发送不带附件的电子邮件

对于发送邮件,您可以使用以下便捷方法之一

+ (BOOL)sendFromViewController:(UIViewController *)viewController toRecipient:(NSString *)recipient withSubject:(NSString *)subject withMessage:(NSString *)message withCompletion:(void(^)(KRNSendEmailResult result, NSError *error)) completion; // send email to one recipient

+ (BOOL)sendFromViewController:(UIViewController *)viewController toRecipients:(NSArray<NSString *>*)recipients withSubject:(NSString *)subject withMessage:(NSString *)message withCompletion:(void(^)(KRNSendEmailResult result, NSError *error)) completion; // send email to many recipients

作为结果,完成块将被调用,您可以在 KRNSendEmailResult 枚举参数中处理结果。您可以通过调用 +(NSString *)sendEmailResultStringRepresentation:(KRNSendEmailResult)result 方法来获取此枚举的便捷字符串表示。

带有附件的发送电子邮件

要发送带有附件的电子邮件,您必须创建一个(或多个)KRNEmailAttachment 类的实例。每个实例或 KRNEmailAttachments 都需要 NSData,该数据将扮演附件的角色,NSString 表示附件的 mime-type,以及一个表示附件文件名的 NSString。如果文件名是空值,则将生成一个随机文件名。您可以通过继承 KRNEmailAttachments 类来简化添加常用附件。库已经包含 KRNImageAttachment 类,您可以使用它来添加含 UIImage 实例的附件。

您可以将一个或多个 KRNEmailAttachments 传递到 KRNSendEmail 类的适当静态方法中,如下例所示。

if ([KRNSendEmail canSend]) {
    UIImage *image = [UIImage imageNamed:@"schoolFullImage"];
    UIImage *image2 = [UIImage imageNamed:@"babyFullImage"];
    KRNImageAttachment *attachment = [KRNImageAttachment pngAttachmentWithImage:image andName:@"school"];
    KRNImageAttachment *attachment2 = [KRNImageAttachment pngAttachmentWithImage:image2 andName:@"baby"];

    [KRNSendEmail sendFromViewController:self toRecipients:@[_firstEmail.text, _secondEmail.text] withSubject:_subject.text withMessage:_message.text withAttachments:@[attachment, attachment2] withCompletion:^(KRNSendEmailResult result, NSError *error) {
        if (error) {
            NSLog(@"Error - %@", error.localizedDescription);
        } else {
            NSLog(@"%@", [KRNSendEmail sendEmailResultStringRepresentation:result]);
        }
    }];
}

要求

  • iOS 8.0 及以上
  • XCode 7+
  • 示例项目可以从 iOS 9 及以上版本启动。

许可

KRNSendEmail 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE。

联系

有任何建议或问题?请创建一个 GitHub issue 或联系我。

LinkedIn