Saya ingin mengirim email dari aplikasi iPhone saya. Saya telah mendengar bahwa iOS SDK tidak memiliki API email. Saya tidak ingin menggunakan kode berikut karena akan keluar dari aplikasi saya:
NSString *url = [NSString stringWithString: @"mailto:[email protected][email protected]&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!"];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
Jadi bagaimana saya bisa mengirim email dari aplikasi saya?
ios
iphone
email
cocoa-touch
Khushi
sumber
sumber
presentModalViewController:animated:
dandismissModalViewControllerAnimated:
telah ditandai sebagai usang - sebagai gantinya metode penggantian berbasis blokpresentViewController:animated:completion:
dandismissViewControllerAnimated:completion:
harus digunakan.@interface viewController : UIViewController <MFMailComposeViewControllerDelegate>
[self presentModalViewController:controller animated:YES];
ganti dengan[self presentViewController:controller animated:YES completion:nil];
dan[self dismissModalViewControllerAnimated:YES];
ganti dengan[self dismissViewControllerAnimated:YES completion:nil];
MFMailComposeViewController adalah cara yang harus dilakukan setelah rilis perangkat lunak iPhone OS 3.0. Anda dapat melihat kode contoh atau tutorial yang saya tulis .
sumber
Beberapa hal yang ingin saya tambahkan di sini:
Menggunakan URL mailto tidak akan berfungsi di simulator karena mail.app tidak diinstal pada simulator. Itu bekerja pada perangkat.
Ada batas panjang URL mailto. Jika URL lebih besar dari 4096 karakter, mail.app tidak akan diluncurkan.
Ada kelas baru di OS 3.0 yang memungkinkan Anda mengirim email tanpa meninggalkan aplikasi Anda. Lihat kelas MFMailComposeViewController.
sumber
Jika Anda ingin mengirim email dari aplikasi Anda, kode di atas adalah satu-satunya cara untuk melakukannya kecuali jika Anda memberi kode pada klien surat Anda sendiri (SMTP) di dalam aplikasi Anda, atau minta server mengirim surat untuk Anda.
Misalnya, Anda bisa membuat kode aplikasi Anda untuk meminta URL di server Anda yang akan mengirim email untuk Anda. Maka Anda cukup memanggil URL dari kode Anda.
Perhatikan bahwa dengan kode di atas Anda tidak dapat melampirkan apa pun ke email, yang dapat Anda lakukan dengan metode SMTP client, serta metode sisi server.
sumber
Kode di bawah ini digunakan dalam aplikasi saya untuk mengirim email dengan lampiran di sini lampiran adalah gambar. Anda dapat mengirim semua jenis file yang hanya perlu diingat adalah bahwa Anda harus menentukan 'mimeType' yang benar
tambahkan ini ke file .h Anda
Tambahkan MessageUI.framework ke file proyek Anda
Metode pendelegasian adalah seperti yang ditunjukkan di bawah ini
sumber
Ini adalah kode yang dapat membantu Anda tetapi jangan lupa menyertakan pesan ui framewark dan menyertakan metode delegasi MFMailComposeViewControllerDelegate
sumber
Cepat 2.2. Diadaptasi dari jawaban Esq
Kode klien:
sumber
Untuk mengirim email dari aplikasi iPhone yang perlu Anda lakukan di bawah daftar tugas.
Langkah 1: Impor
#import <MessageUI/MessageUI.h>
Di kelas pengontrol Anda tempat Anda ingin mengirim email.Langkah 2: Tambahkan delegasi ke controller Anda seperti yang ditunjukkan di bawah ini
Langkah 3: Tambahkan metode di bawah ini untuk mengirim email.
Langkah 4: Terapkan Delegasi MFMailComposeViewController
sumber
Swift 2.0
sumber
Inilah versi Swift:
Sumber
sumber
Saya menulis pembungkus sederhana bernama KRNSendEmail yang menyederhanakan pengiriman email ke satu metode panggilan.
KRNSendEmail didokumentasikan dengan baik dan ditambahkan ke CocoaPods.
https://github.com/ulian-onua/KRNSendEmail
sumber