iPhone使用smtp服务器发送电子邮件?

Nil*_*shi 5 iphone xcode objective-c ios4

在我的应用程序中,我能够使用smtp服务器发送电子邮件,因为我输入了正确的电子邮件ID和密码.但当我输入我的Gmail或雅虎帐户详细信息时,我无法发送邮件.因为我设置了relayHost = @"smtp.gmail.com"; 然后我也无法发送邮件.

请帮我解决这个问题.

以下是我的代码:

-(void)sendEMAIL{

   SKPSMTPMessage *testMsg = [[SKPSMTPMessage alloc] init];

    testMsg.fromEmail = str_uname;
    NSLog(@"str_Uname=%@",testMsg.fromEmail);

    testMsg.toEmail = str_info;

    NSLog(@"autoemail=%@",testMsg.toEmail);

    testMsg.relayHost = @"smtp.gmail.com";

    testMsg.requiresAuth = YES;

    testMsg.login = str_uname;
    NSLog(@"autoelogin=%@",testMsg.login);

    testMsg.pass = str_password;
    NSLog(@"autopass=%@",testMsg.pass);

   testMsg.subject = @"Schedule Sms And Email";

   testMsg.wantsSecure = YES; 

   NSString *sendmsg=[[NSString alloc]initWithFormat:@"%@",str_info2];
   NSLog(@"automsg=%@",sendmsg);

   testMsg.delegate = self;

   NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:@"text/plain",kSKPSMTPPartContentTypeKey,
                           sendmsg, kSKPSMTPPartMessageKey,@"8bit",kSKPSMTPPartContentTransferEncodingKey,nil];

    testMsg.parts = [NSArray arrayWithObjects:plainPart,nil];
    [testMsg send];
}

-(void)messageSent:(SKPSMTPMessage *)message{ 
   [message release];     
}

-(void)messageFailed:(SKPSMTPMessage *)message error:(NSError *)error{
   [message release];
}
Run Code Online (Sandbox Code Playgroud)

sin*_*h99 2

您还可以从https://github.com/kailoa/iphone-smtp获取源代码,它是使用 smtp 服务器的很棒的代码。

http://iphonesdksnippets.com/send-email-with-attachments-on-iphone.html 使用此链接也很好......只需从那里下载框架并使用该代码。它也很好。