6

Tôi đang cố gắng tạo một ứng dụng gửi email bằng cách sử dụng MFMailComposeViewController nhưng lớp đó dường như không cung cấp cách đặt tiêu đề email.Đặt tiêu đề email trên mục tiêu-C?

Tôi đã cố tìm giải pháp cấp thấp hơn (hoặc thậm chí là thư viện) thực hiện điều này nhưng không thể tìm thấy. Làm cách nào để đặt/nhận tiêu đề email trong ứng dụng Objective-C?

[EDIT] Để rõ ràng, tôi đang tìm cách đặt tiêu đề email theo những cách khác với MFMailComposeViewController cung cấp. Tôi đã biết cách gửi một email đơn giản. Tôi đang tìm cách thiết lập tiêu đề email như In-Trả lời, hoặc Message-ID

+1

Tiêu đề có nghĩa là bạn muốn đặt Chủ đề? –

+0

có tất cả các phương pháp mà bạn cần: setSubject (_ :) setToRecipients (_ :) setCcRecipients (_ :) setBccRecipients (_ :) setMessageBody (_: isHTML :) addAttachmentData (_: MIMETYPE: fileName : –

+1

Không, theo tiêu đề tôi thực sự có nghĩa là tiêu đề email đầy đủ http://en.wikipedia.org/wiki/Email#Header_fields Cụ thể hơn, tôi đã cố gắng truy cập các tiêu đề như ID thư hoặc Trả lời-Tới. – Vlad

Trả lời

1

Tác giả của Sparrow đã viết một lớp tuyệt vời có tên là MailCore (hiện có phiên bản 2) cho phép bạn thực hiện điều đó.

Nếu bạn sẽ đi đến các tài liệu lớp Class ở đây: http://libmailcore.com/mailcore2/api/Classes/MCOMessageHeader.html

Bạn có thể tìm thấy tất cả các loại tiêu đề hữu ích trong các thuộc tính như messageID, inReplyTo vv.

+0

Cảm ơn nhưng nếu bạn đọc yêu cầu ở trên, tôi đã nói cụ thể rằng tôi không tìm kiếm giải pháp như MailCore. – Vlad

1

Nếu bạn muốn tạo tiêu đề email, bạn có thể tạo tiêu đề của riêng mình bằng cách sử dụng html và đặt nó làm nội dung thư của thư bằng isHTML là True.

Tôi chỉ cố gắng đoạn mã sau:

NSString * Htmlstr =[NSString stringWithFormat:@ "<html>" 
        "<body>" 
        "<div id=\"container\" style=\"background-color:#EEEEEE;height:300px;width:500px;float:left;\">" 
        "<div id=\"header\" style=\"background-color:#FFA500;\">" 
        "<h3 style=\"margin-top:0;\">ABC</h3></div>" 
        "<div id=\"content\" style=\"background-color:#EEEEEE;height:300px;width:500px;float:left;\">%@</div>" 
        "<div id=\"Banner\" style=\"background-color:#EEEEEE;clear:both;text-align:left;margin-top:0;\"><img src=\"%@\" alt=\"Smiley face\" width=\"500\" height=\"100\"></div>" 

        "<div id=\"footer\" style=\"background-color:#FFA500;clear:both;text-align:center;margin-bottom:0;\">Copyright © abc.com</div>" 
        "</div>" 
        "</body>" 
        "</html>",emailBody,self.SelectedBannerImage]; 

[bưu phẩm setMessageBody: Htmlstr isHTML: YES];

Hy vọng điều này sẽ giúp bạn ..

+1

Cảm ơn, nhưng tôi nghĩ có sự hiểu lầm. Bởi tiêu đề tôi có nghĩa là: http://en.wikipedia.org/wiki/Email#Header_fields – Vlad

1

Tôi nghĩ rằng bạn muốn có đủ nguồn lực nếu bạn sử dụng libcurl (thư viện c) hoặc một trong các giấy gói cacao của nó, đúng không?

Check here for BBHTTP and CURLHandle.

Điều đó sẽ cho phép bạn tự tạo luồng lưu lượng truy cập smtp của mình bằng cú pháp cocoa/objc. Đó có phải là nhiều hơn những gì bạn đang tìm kiếm?

+0

Tôi đã tìm kiếm một cách để sử dụng Mail.app để gửi email mà không cần người dùng phải đi qua tất cả các phức tạp của việc sử dụng các giao thức mức thấp. Tôi nghĩ vì các tiêu đề cơ bản khác như tiêu đề, v.v. được cho phép nên có cách để đính kèm các tiêu đề như In-Trả lời bằng cách sử dụng API mức cao bằng cách nào đó. – Vlad

+0

Tôi sẽ đề nghị bạn nên soạn trước một email và mở nó bằng cách sử dụng 'open-mail.app myEmail', nhưng sau đó tôi nhớ bạn đang cố gắng làm điều này cho iOS. Tôi nghĩ rằng bức ảnh đẹp nhất của bạn, ngắn hạn khai thác các phương thức riêng tư, sẽ là một trong hai) làm cho phương thức không thực hiện, không riêng tư cho phép bạn truy cập vào mô hình (không có khả năng), b) cuộn trình soạn thảo bộ điều khiển xem thư được hỗ trợ bởi một trong nhiều thư viện được đề cập trong suốt qa này. Apple chỉ đơn giản là không tiết lộ những gì bạn đang tìm kiếm. : / –

Các vấn đề liên quan