mirror of
https://github.com/M66B/FairEmail.git
synced 2026-01-02 19:10:11 +01:00
Select receipt request in send dialog
This commit is contained in:
@@ -46,6 +46,7 @@ import java.io.UnsupportedEncodingException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
@@ -167,6 +168,34 @@ public class MessageHelper {
|
||||
if (message.subject != null)
|
||||
imessage.setSubject(message.subject);
|
||||
|
||||
// Send message
|
||||
if (identity != null) {
|
||||
// Add reply to
|
||||
if (identity.replyto != null)
|
||||
imessage.setReplyTo(InternetAddress.parse(identity.replyto));
|
||||
|
||||
// Add extra bcc
|
||||
if (identity.bcc != null) {
|
||||
List<Address> bcc = new ArrayList<>();
|
||||
Address[] existing = imessage.getRecipients(Message.RecipientType.BCC);
|
||||
if (existing != null)
|
||||
bcc.addAll(Arrays.asList(existing));
|
||||
bcc.addAll(Arrays.asList(InternetAddress.parse(identity.bcc)));
|
||||
imessage.setRecipients(Message.RecipientType.BCC, bcc.toArray(new Address[0]));
|
||||
}
|
||||
|
||||
// Delivery/read request
|
||||
if (message.receipt_request != null && message.receipt_request) {
|
||||
String to = (identity.replyto == null ? identity.email : identity.replyto);
|
||||
|
||||
// defacto standard
|
||||
imessage.addHeader("Return-Receipt-To", to);
|
||||
|
||||
// https://tools.ietf.org/html/rfc3798
|
||||
imessage.addHeader("Disposition-Notification-To", to);
|
||||
}
|
||||
}
|
||||
|
||||
MailDateFormat mdf = new MailDateFormat();
|
||||
mdf.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||
imessage.setHeader("Date", mdf.format(new Date()));
|
||||
@@ -236,7 +265,7 @@ public class MessageHelper {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean usenet = prefs.getBoolean("usenet_signature", false);
|
||||
|
||||
if (message.receipt_request != null && message.receipt_request) {
|
||||
if (message.receipt != null && message.receipt) {
|
||||
// https://www.ietf.org/rfc/rfc3798.txt
|
||||
Multipart report = new MimeMultipart("report; report-type=disposition-notification");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user