自动发送电子邮件和短信 iPhone、xcode
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/11096548/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Send Email and SMS automatically iPhone, xcode
提问by Akansha
I am writing iphone a app, in which I need to send email and sms at some interval automatically to a number and email ID. But everytime it goes to that part after some interval, a pop-up windows comes for both email and sms, and when I press send button then only it sends the email or sms.
我正在为 iphone 编写一个应用程序,在该应用程序中,我需要每隔一段时间自动向一个号码和电子邮件 ID 发送电子邮件和短信。但是每次在一段时间后进入该部分时,都会弹出一个用于电子邮件和短信的窗口,当我按下发送按钮时,它只会发送电子邮件或短信。
How can I make it automatic, so that I dont have to press the send button again and again and it does the action automatically. I found this piece of code for sending email and sms and I am using this code only for my purpose. How can I modify it to make this automatic.
我怎样才能让它自动,这样我就不必一次又一次地按下发送按钮,它会自动执行操作。我找到了这段用于发送电子邮件和短信的代码,我仅将这段代码用于我的目的。我如何修改它以使其自动进行。
//
// MessageViewController.m
// EmailExample
//
// Copyright http://iphoneapp-dev.blogspot.com. All rights reserved.
//
#import "MessageViewController.h"
@implementation MessageViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"Message sending";
}
- (IBAction)btnEmail_Clicked:(id)sender
{
MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setToRecipients:[NSArray arrayWithObject:@"[email protected]"]];
[controller setSubject:@"iPhone Email Example Mail"];
[controller setMessageBody:@"http://iphoneapp-dev.blogspot.com" isHTML:NO];
[self presentModalViewController:controller animated:YES];
[controller release];
}
- (IBAction)btnMessage_Clicked:(id)sender
{
MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
if([MFMessageComposeViewController canSendText])
{
controller.body = @"Hello Friends this is sample text message.";
controller.recipients = [NSArray arrayWithObjects:@"+919999999999", nil];
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
}
}
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
switch (result) {
case MessageComposeResultCancelled:
NSLog(@"Cancelled");
break;
case MessageComposeResultFailed:
NSLog(@"Failed");
break;
case MessageComposeResultSent:
NSLog(@"Send");
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES];
}
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
if (result == MFMailComposeResultSent) {
NSLog(@"It's away!");
}
[self dismissModalViewControllerAnimated:YES];
}
- (IBAction)btnCall_Clicked:(id)sender
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"+919999999999"]];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
}
@end
回答by rckoenes
You can't, if this where possible you could send some SMS
to a premium service and the user could end up with a high phone bill. That's why Apple doesn't allow this.
您不能,如果可能的话,您可以将一些发送SMS
给高级服务,而用户最终可能会收到高额电话费。这就是苹果不允许这样做的原因。
You might be able to do it if you sen the SMS
/e-mail via a server or in the case of e-mail directly via SMTP
.
如果您SMS
通过服务器发送 /e-mail 或直接通过SMTP
.
回答by AHSAN NAZIR RAJA
// Build request
NSString *urlString = [NSString stringWithFormat:@"https://%@:%@@api.twilio.com/2010-04-01/Accounts/%@/SMS/Messages", kTwilioSID, kTwilioSecret, kTwilioSID];
NSURL *url = [NSURL URLWithString:urlString];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostFormat:NSUTF8StringEncoding];
[request setPostValue:kFromNumber forKey:@"From"];
[request setPostValue:kToNumber forKey:@"To"];
[request setPostValue:kMessage forKey:@"Body"];
[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestFail:)];
hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
//hud.mode = MBProgressHUDModeAnnularDeterminate;
hud.labelText = @"Please wait...";
hud.detailsLabelText = @"Sending message";
hud.delegate = self;
hud.square = NO;
hud.dimBackground = YES;
[request startAsynchronous];
You can use this code and change parameters as per your needs i hope this will help you in sending SMS.
您可以使用此代码并根据需要更改参数,希望这对您发送短信有所帮助。