Gửi Mail với file đính kèm sử dụng Swift
Bài đăng này đã không được cập nhật trong 4 năm
Chào mọi người, hôm nay mình sẽ viết bài hướng dẫn cách viết một ứng dụng có thể gửi mail và đính kèm file csv. Hiện nay việc chia sẻ file hoặc thu thập dữ liệu ngày càng phổ biến trong việc phát triển ứng dụng di động nói chung. Tuy nhiên để thực hiện một cách nhanh chóng và chính xác thì mình đã mất một chút thời gian để tìm hiểu. Đó cũng chính là lý do để mình viết bài chia sẻ này, hi vọng sẽ tiết kiệm thời gian cho các bạn ^^. Ngôn ngữ swift có hỗ trợ việc gửi mail thông qua một thư viện có sẵn đó là MessageUI. Tại đó, chúng ta có thể viết ra một function gửi Mail tới một địa chỉ nhập bằng tay, bằng cách gọi và show lên MFMailComposeController. Chúng ta cùng đi vào chi tiết nhé:
1. Tạo project
Bước đơn giản đầu tiên, hãy tạo 1 ứng dụng có 1 button ở giữa màn hình. Khi bấm lên thì sẽ show lên màn hình gửi mail
Các bạn có thể tham khảo cách tạo project tại đây
2. Import thư viện, khởi tạo data
Tại viewcontroller, chúng ta thêm thư viện MesageUI. Đồng thời khởi tạo 1 biến Data, sẽ làm file đính kém sau này. Và đừng quên thừa kế MFMailComposeViewControllerDelegate.
3. Tạo fìle CSV
Đây chính là file đính kèm. Chúng ta tạo theo format CSV làm ví dụ. Với kích thước tối đa lên tới 15M. Tuy nhiên ở ví dụ này chúng ta sẽ tạo 1 file đơn giản nhất
Bây giờ biến data mà chúng ta tạo ban đầu đã có giá trị. Tiếp theo là bước quan trọng nhất: Tạo màn gửi mail
4. Tạo MFMailComposeViewController
Mình sẽ tạo riêng hẳn 1 function để khởi tạo và setup. Lưu ý rằng file csv cũng sẽ phải được đính kèm luôn trong bước này. Bằng cách gọi:
//set attachment
emailController.addAttachmentData(data!, mimeType: "text/csv", fileName: "Sample.csv")
Hàm chi tiết như sau:
5. Handle Show MFMailComposeViewController
Bước này rất đơn giản. Tại hàm action của button tạo ban đầu chúng ta viết như sau:
6. Kết quả
Chạy app lên máy thật chúng ta có:
Click vào button Share, màn MFMailComposeViewController sẽ hiện ra
Tới đây, chỉ cần nhập Mail và bấm gửi:
Và thành quả khi check mail:
Bài viết tới đây là kết thúc. Hi vọng ít nhiều sẽ giúp được các bạn giải quyết vấn đề của mình. Cám ơn các bạn đã đọc bài viết ^^
All rights reserved