Chuẩn Bị Thêm MessageUI - bongdaplus
Thông tin, video, hình ảnh, bình luận từ trang báo bongdaplus
kqbd anh Gửi Email Sử Dụng MFMailComposeViewController
Thuộc mục iOS
Chuẩn Bị: Thêm MessageUI.framework
#import [Loc88 Club Game Bài Tặng Code](/posts/2023-6-5/) <MessageUI/MessageUI.h>
Delegate:
@interface FirstTabListTableViewController ()<MFMailComposeViewControllerDelegate>
Thực Hiện:
// Phương thức SendParseErrorEmail là do tôi tự tạo ra
- (void)SendParseErrorEmail
{
if ([MFMailComposeViewController canSendMail])
{ // Người dùng đã cấu hình tài khoản email trên thiết bị
// Tạo đối tượng quản lý email
MFMailComposeViewController *mailCompose = [[MFMailComposeViewController alloc] init];
// Thiết lập delegate để xử lý các sự kiện liên quan đến việc gửi email
[mailCompose setMailComposeDelegate:self];
// Đặt tiêu đề cho email
[mailCompose setSubject:@"Báo cáo lỗi phần mềm"];
// Đặt địa chỉ người nhận
[mailCompose setToRecipients:@[@"địa_chỉ_email"]];
/**
* Đặt nội dung chính của email
*/
NSString *emailContent = @"Vui lòng điền vào:\nPhiên bản hệ điều hành iOS:\nPhiên bản ứng dụng trên điện thoại:\nMô tả chi tiết vấn đề:\nChúng tôi sẽ khắc phục sớm nhất, cảm ơn bạn đã phản hồi!";
// Kiểm tra xem nội dung email có phải dạng HTML hay không
[mailCompose setMessageBody:emailContent isHTML:NO];
// Thêm file đính kèm - Log lỗi được lưu trữ dưới dạng ErrorLog
NSData *txt=[NSKeyedArchiver archivedDataWithRootObject:self.ErrorLog];
[mailCompose addAttachmentData:txt mimeType:@"text/plain" fileName:@"Log.txt"];
// Hiển thị giao diện gửi email
[self presentViewController:mailCompose animated:YES completion:nil];
}
else
// Nếu chưa đăng nhập tài khoản email, chuyển hướng đến trang web cá nhân
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"
}
}
- (void)mailComposeController:(MFMailComposeViewController *)controller
didFinishWithResult:(MFMailComposeResult)result
error:(NSError *)error
{
switch (result)
{
case MFMailComposeResultCancelled: // Người dùng đã hủy gửi email
NSLog(@"Gửi email đã bị hủy...");
break;
case MFMailComposeResultSaved: // Người dùng đã lưu email
NSLog(@"Email đã được lưu...");
break;
case MFMailComposeResultSent: // Người dùng đã gửi email thành công
NSLog(@"Email đã được gửi...");
break;
case MFMailComposeResultFailed: // Có lỗi xảy ra khi gửi hoặc lưu email
NSLog(@"Lỗi khi gửi email: %@...", [error localizedDescription]); [ketquabongda](/posts/2022-5-3/)
break;
}
// Đóng giao diện gửi email
[self dismissViewControllerAnimated:YES completion:nil];
}
Sửa đổi lần cuối vào 2025-03-29