从ipad或iphone发送电子邮件的替代方法

我发现有很多方法可以在iOS设备的后台(不用UI)发送电子邮件,也不需要使用MFMailComposeViewController类。 最stream行的例子是填写在线表格,然后按提交button。 这里是我看到在stackoverflow中最stream行的方法..

(1)使用您自己的SMTP客户端。 这种方法是为我工作,但在我的私人networking,但不在公司的networking,如公司networking中工作我不能使用Gmail(公共电子邮件),并没有我们公司的邮件服务器的SMTP细节。 在这个方法中,我感到很震惊。

(2)使用CTCoreMessage&Three20框架(开源)。 但是在这里,我不能find除git以外的其他地方下载这个框架的地方,我的pc VLAN不允许GIT。 有人可以帮我找出Three20框架下载位置,并与我分享一个示例代码。

(3)使用HTTP Post:将您的电子邮件正文发送到服务器,并委派发送给HTTP服务器的电子邮件。 如果这很简单,那么有人可以帮助我如何设置自己的HTTP服务器发送电子邮件。

有没有人可以帮助find任何工作示例代码。 我在我的项目交付结束。 发表这个早就回来了。 直到现在还没有答复。 有人可以帮我吗

我可以使用HTTP Post为第三个选项提供帮助,因为我曾经在项目中实现过一次。

首先,我使用这个漂亮而简单的iOS类来照顾我的发帖。 然后,下面的iOS代码片段应该告诉你如何完成

NSString* from = @"sender@email"; NSString* to = @"receiver@email"; NSString* mailCc = @"cc@email"; NSString* message = @"my message" NSString* subject = @"my subject"; NSURL* url = [NSURL URLWithString:@"http://yourtestsite.com/my_email_script.php"]; //these are $_POST variables sent, so 'from' would be $_POST['from'] NSArray *keys = [[NSArray alloc] initWithObjects:@"from", @"to", @"cc", @"subject", @"message", nil]; NSArray *objects = [[NSArray alloc] initWithObjects:from, to, mailCc, subject, message, nil]; NSDictionary *dictionary = [[NSDictionary alloc] initWithObjects:objects forKeys:keys]; NSMutableURLRequest* request = [SimplePost urlencodedRequestWithURL:url andDataDictionary:dictionary]; NSURLResponse* response = [[NSURLResponse alloc] init]; NSError* error = [[NSError alloc] init]; NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse: &response error: &error]; NSString* result = [[NSString alloc] initWithData:returnData encoding:NSStringEncodingConversionAllowLossy]; //I'm checking for 1 because my php script was set to write 1 to the page in case of success and 0 otherwise, so this is simply my implementation if([result isEqualToString:@"1"]) { NSLog(@"success"); } else { NSLog(@"error"); } 

对于PHP文件,这应该是诀窍

 $from = filter_var($_POST['from'], FILTER_SANITIZE_EMAIL); $to = filter_var($_POST['to'], FILTER_SANITIZE_EMAIL); $cc = filter_var($_POST['cc'], FILTER_SANITIZE_EMAIL); $subject = htmlspecialchars(utf8_decode($_POST['subject'])); $message = utf8_decode($_POST['message']); // To send HTML mail, the Content-type header must be set $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Additional headers $headers .= 'From: ' . $from . "\r\n"; $headers .= 'Cc: ' . $cc . "\r\n"; // Mail it if(mail($to, $subject, $message, $headers)) { echo("1"); } else { echo("0"); } 

请记住,我不是PHP专家,所以代码可能会得到改善,特别是在安全性方面。

PHP邮件应该已经在大多数主要托pipe解决scheme中启用了,无论是廉价的共享帐户,VPS还是专用服务器。 但是,如果您打算使用此方法发送大量电子邮件,则build议使用专用服务器。

但是,您可以发送的电子邮件数量有限,并且比mailfunction更好。 你可以在这里find更多的信息。

[稍后编辑]似乎作者删除了SimplePost类。 但是,同一个作者提出了另一个应该帮助的select,叫做SimpleHTTPRequest 。 其余的应该保持不变

我会研究使用Mailgun ,这将使发送邮件更容易,每个月免费处理10K。 他们允许你使用他们的子域名,如果你没有自己的,但可以很容易地设置自己的工作与他们的。

就像安装一个cocoapod并添加5行代码一样简单。