電子メールでレポートを送信できるアプリをiPhoneで開発中です。 MFMailComposeViewControllerフレームワークを使用して実装しました。電子メールが有効かどうかを確認する方法はありますか?私はレポーターを有効なメールアドレスにのみ送りたいと思っています。また、メールが正常に送信されたかどうかを確認したいのですか?電子メールが有効かどうかを確認する
答えて
MFMailComposerViewControllerには、電子メールアドレスを取得するための規定がありません。 setToRecipients:メソッドで設定できます。しかし、ユーザーがアドレスフィールドの中に実際に入力したものにアクセスすることはできません。
メッセージは実際にメールメールボックス送信ボックスにキューイングされます。また、この文書には、実際にメールが送信されたかどうかを知る方法はありません。
もう1つのことは、ユーザーが何らかのメールアドレスに何かを郵送することを許可すれば、正しいメールアドレスを入力する責任があるということです。そうでなければ、彼はメールを受け取らないでしょう。彼のそれまで。なぜあなたは気にしますか?
文書化されていない方法:this postを再帰的にメール作曲家のサブビューをループして電子メールのテキストフィールドへのアクセスを得るために文書化されていない道を示しているようです。この方法は、Appleによる拒否につながる可能性があります。またはAppleがMFMailComposeViewControllerの実装を変更した場合に、今後、動作を停止する可能性があります。
私はこのコードを使用しあなたの情報をありがとう。それを克服するために使用できる他のフレームワークはありますか?それはリンゴによって受け入れられるのだろうか? – Tinku
はい。文書化されていない方法があるようです。私の更新された答えを見てください。リスクにも注意してください;-) – EmptyStack
:
-(BOOL) validEmail:(NSString *)email {
//Based on the string below
//NSString *[email protected]”\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b”;
//Quick return if @ Or . not in the string
if([email rangeOfString:@"@"].location==NSNotFound || [email rangeOfString:@"."].location==NSNotFound)
return NO;
//Break email address into its components
NSString *accountName=[email substringToIndex: [email rangeOfString:@"@"].location];
email=[email substringFromIndex:[email rangeOfString:@"@"].location+1];
//’.’ not present in substring
if([email rangeOfString:@"."].location==NSNotFound)
return NO;
NSString *domainName=[email substringToIndex:[email rangeOfString:@"."].location];
NSString *subDomain=[email substringFromIndex:[email rangeOfString:@"."].location+1];
//username, domainname and subdomain name should not contain the following charters below
//filter for user name
NSString *unWantedInUName = @" [email protected]#$^&*()={}[]|;’:\"<>,?/`";
//filter for domain
NSString *unWantedInDomain = @" [email protected]#$%^&*()={}[]|;’:\"<>,+?/`";
//filter for subdomain
NSString *unWantedInSub = @" `[email protected]#$%^&*()={}[]:\";’<>,?/1234567890";
//subdomain should not be less that 2 and not greater 6
if(!(subDomain.length>=2 && subDomain.length<=6)) return NO;
if([accountName isEqualToString:@""] || [accountName rangeOfCharacterFromSet:[NSCharacterSet characterSetWithCharactersInString:unWantedInUName]].location!=NSNotFound || [domainName isEqualToString:@""] || [domainName rangeOfCharacterFromSet:[NSCharacterSet characterSetWithCharactersInString:unWantedInDomain]].location!=NSNotFound || [subDomain isEqualToString:@""] || [subDomain rangeOfCharacterFromSet:[NSCharacterSet characterSetWithCharactersInString:unWantedInSub]].location!=NSNotFound)
return NO;
return YES;
}
ICANNが[新しいトップレベルドメイン]を許可している場合、この機能は将来的には保証されません(http://www.icann.org/ja/topics/new-gtld-program .htm)。 – darvids0n
は、電子メールのテキストの妥当性を確認するために、このメソッドを使用しますが...
- (BOOL)validateEmail:(NSString *)emailStr {
NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:emailStr]; }
- 1. PHPで、電子メールが有効かどうかを確認する方法はありますか?
- 2. アカウントの電子メールの有効性が重要かどうか
- 3. C#電子メールアドレスの有効性確認
- 4. UITextFieldのテキストが有効なメールかどうかを確認するには?
- 5. Git/gitosis:ユーザー名と電子メールの有効性を確認する方法は?
- 6. 電子メールの有無を確認するソフトウェア
- 7. Pythonで電子メールを確認する
- 8. ポインタが有効かどうかを確認する方法?
- 9. aspセッションが有効かどうかを確認するには?
- 10. AndroidでWi-Fiが有効かどうかを確認する
- 11. SQL Server:CLRが有効かどうかを確認する方法?
- 12. wifiオプションが有効かどうかを確認する方法
- 13. 電子メールの資格証明の有無を確認
- 14. アラートを見ることができません..電子メールを有効にするかどうかを確認したいのですが... jQuery
- 15. Rails:クリアランス:電子メールの確認機能を再度有効にすることはできますか?
- 16. JavaScriptの電子メールの有効化
- 17. Identity 3.0電子メールの有効化
- 18. 私が送信した電子メールが読まれているかどうかを確認する
- 19. 電子メールがデータベースに存在するかどうかを確認していますか?
- 20. Zendフレームワーク登録+電子メールの確認
- 21. ASP.NET WEB APIの電子メール確認URL
- 22. 電子メールの妥当性確認
- 23. ワードプレスでの電子メール確認
- 24. PostgresのSSN、電子メール、電話番号を確認する
- 25. ページがJavaScript - ASP.NETで有効かどうかを確認
- 26. CampaignMonitor(PHP)電子メールが購読されているかどうかを確認する
- 27. 入力された電子メールに "@"が含まれているかどうかを確認する方法
- 28. 添付ファイルがOutlook電子メールの署名であるかどうかを確認する
- 29. 夏時間が有効かどうかの確認
- 30. 電子メールが正常に送信されたかどうかを確認する方法?
この記事を参照してください。 http://stackoverflow.com/questions/800123/best-practices-for-validating-email-address-in-objective-c-on-ios-2-0 –