package com.kescoode.xmail.service.task;
import android.content.Context;
import com.fsck.k9.mail.Message;
import com.fsck.k9.mail.MessagingException;
import com.fsck.k9.mail.Transport;
import com.kescoode.xmail.domain.Account;
import com.kescoode.xmail.domain.MailBuilder;
import com.kescoode.xmail.exception.XDynamicException;
import com.kescoode.xmail.service.task.internal.Command;
/**
* 发送邮件命令
*
* @author Kesco Lin
*/
public class SendMailCommand extends Command {
private final MailBuilder mailBuilder;
public SendMailCommand(Context context, Account account, MailBuilder builder) {
super(context, account);
mailBuilder = builder;
}
@Override
public void task() {
try {
Transport transport = account.getTransport();
Message mail = mailBuilder.build(context, account);
transport.sendMessage(mail);
} catch (MessagingException e) {
// TODO: 改为发送事件通知
throw new XDynamicException("Send mail fail");
}
}
}