-(IBAction)send:(id)sender
{
NSString *message = [NSString stringWithFormat:@"\r\rThis is a report from the Arabian Bully Box iOS mobile application:\r\rName of victim = %@ \rName of Bully = %@ \rLocation = %@ \rDate(s) of Incident = %@ \rWitnesses = %@ \rDescription = %@", nameVictom.text, nameBully.text, location.text, date.text, witness.text, description.text];
// label.text = message;
NSLog(@"%@", message);
nameVictom.text = @"";
nameBully.text = @"";
location.text = @"";
date.text = @"";
witness.text = @"";
description.text = @"";
label.text = @"Thank you for your help.";
label.textColor = [UIColor blackColor];
label.shadowColor = [UIColor clearColor];
send.enabled = NO;
NSLog(@"Start eMail");
SKPSMTPMessage *smtpTestMessage = [[SKPSMTPMessage alloc] init];
smtpTestMessage.fromEmail = @"***@gmail.com";
smtpTestMessage.toEmail = @"***@yahoo.com";
smtpTestMessage.relayHost = @"smtp.gmail.com";
smtpTestMessage.requiresAuth = YES;
smtpTestMessage.login = @"***@gmail.com";
smtpTestMessage.pass = @"***";
smtpTestMessage.subject = @"Bully Box Submission";
smtpTestMessage.wantsSecure = YES;
smtpTestMessage.delegate = self;
NSDictionary *plainPart = [NSDictionary dictionaryWithObjectsAndKeys:kSKPSMTPPartContentTypeKey,
message,kSKPSMTPPartMessageKey,kSKPSMTPPartContentTransferEncodingKey, nil];
// NSDictionary *plainPart = @{
// message: kSKPSMTPPartContentTypeKey,
// kSKPSMTPPartContentTransferEncodingKey: kSKPSMTPPartMessageKey
// };
smtpTestMessage.parts = [NSArray arrayWithObject:plainPart];
[NSString stringWithFormat:@"%@",message];
NSLog(@"\r\r\rAbout to send\r\r\r");
[smtpTestMessage send];
NSLog(@"sent");
}
これを実行するたびに「送信」ボタンを押すと、これに遭遇するまで電子メールはほとんど送信されます。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [__NSCFString appendString:]: nil argument'
私はすべてを試したかのように感じます。率直で申し訳ありませんが、私はかなり長い間これに困惑していました! 私は正直にあきらめる準備ができています。助けてくれてありがとう!この投稿も見ていただきありがとうございます!xD <3
編集
わかった。したがって、smtpTestMessage.parts は nil に戻ります。NSArray としてセットアップされます。NSString "メッセージ" を smtpTestMessage.parts の NSArray に入れるにはどうすればよいですか? これが解決されると、アプリケーションは機能するはずです。
正直なところ、smtpTestMessage.parts に何かを入れることができれば、うまくいくはずです。ゼロに戻らない限り。