在我自己的 iPhone 应用程序中设置电子邮件

Posted

技术标签:

【中文标题】在我自己的 iPhone 应用程序中设置电子邮件【英文标题】:Email setup in my own iphone app 【发布时间】:2010-02-17 20:22:01 【问题描述】:

我是 iphone 应用程序开发的新手,我已经创建了自己的应用程序,我想知道我们是否可以为自己的应用程序设置电子邮件地址,或者我们必须只使用在 iphone 中设置的电子邮件地址。如果可以的话,请告诉我怎么做。

提前致谢 阿基尔

【问题讨论】:

我完全不明白。什么邮箱? 我认为这里的作者正在尝试找出我们是否可以使用非默认邮件帐户从应用程序内发送电子邮件(默认是我们在设置中配置的那个) 【参考方案1】:

从应用内发送的邮件将仅使用设置中的默认邮件帐户。

编辑: 这是一个示例 sendEmail() 方法:

-(IBAction) sendEmail
    if(![MFMailComposeViewController canSendMail])
        //show info msg to user
        return;
    
    MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
    controller.mailComposeDelegate = self;
    [controller setSubject:@"Hello"];
    [controller setMessageBody:@"How are you?" ishtml:NO];
    [controller addAttachmentData:UIImageJPEGRepresentation(myImage,0.8) mimeType:@"image/jpeg" fileName:@"fileName.jpg"];
    [self presentModalViewController:controller animated:YES];
    [controller release];

您将需要addAttachmentData 方法来处理附件。

您还需要实现 didFinishWithResult 方法来丢弃 MFMail 控制器

-(void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult) result error:(NSError *) error
    [self becomeFirstResponder];
    [self dismissModalViewControllerAnimated:YES];

确保你编写这些方法的类实现了 协议

希望这会有所帮助!

【讨论】:

嗨 Mihir,目前我使用的是默认设置。你能告诉我,我怎样才能将我的应用程序中存在的文件附加到邮件中。谢谢阿基尔。 感谢 Mihir 的帮助,非常有帮助。 我仍然有一个不赞成的意见 (-1) :( 。如果有帮助,您至少应该支持它或可能接受答案 ;-) 很抱歉。我忘了接受答案,我会投票。 嗨 Mihir,我正在使用 MFMailComposeViewController,如果文件小于 15MB,它可以正常工作,但如果文件超过 15MB,它甚至不会附加到邮件中。超过 15MB 的文件怎么办。有没有其他方法可以做到这一点。提前致谢。【参考方案2】:

您可以为此使用SKPSMTPMessage 框架。我用过几次,效果还不错。不过我会推荐使用苹果的方法

【讨论】:

【参考方案3】:

您可以打开任何您想要的服务器/端口的套接字并执行您想要执行的任何操作。如果您运行自己的 SMTP 邮件服务器,则可以很容易地接受来自您自己的应用程序的“电子邮件”:

EHLO <some identifier>
MAIL FROM: <identifier@domain>
RCPT TO: <destination@domain>
DATA
email goes here
QUIT

详情请见RFC 2821。

【讨论】:

以上是关于在我自己的 iPhone 应用程序中设置电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

在iphone中设置UIToolBar的背景图片

如何在 iPhone 中设置此布局需要一些帮助

在 Android 操作栏中设置 SearchView 的样式

制作 iPhone 应用程序时从 xcodebuild 中设置配置文件

使用 AS3 在 iPhone 和 android 中设置提醒

在我自己的网站中的嵌入式 youtube 视频中设置时间线