类 SendMail

java.lang.Object
com.gdxsoft.easyweb.utils.Mail.SendMail

public class SendMail extends Object
发送邮件 https://www.checktls.com/TestReceiver 测试smtp ssl配置
作者:
郭磊
  • 构造器详细资料

    • SendMail

      public SendMail()
      初始化发送邮件
    • SendMail

      public SendMail(String host, int port, String uid, String pwd)
      初始化发送邮件
      参数:
      host - 服务器
      port - 端口
      uid - 用户
      pwd - 密码
  • 方法详细资料

    • setFrom

      public SendMail setFrom(String fromEmail, String fromName)
      设置发件人
      参数:
      fromEmail - 发件人邮件
      fromName - 发件人姓名
    • setFrom

      public SendMail setFrom(String fromEmail)
      设置发件人
      参数:
      fromEmail - 发件人邮件
      返回:
      SendMail
    • setFrom

      public SendMail setFrom(Addr from)
      设置发件人
      参数:
      from - 发件人
      返回:
      SendMail
    • getSender

      public Addr getSender()
      获取发件人
      返回:
      the sender_
    • setSender

      public SendMail setSender(Addr sender)
      设置发件人
      参数:
      sender - the sender_ to set
      返回:
      SendMail
    • setSender

      public SendMail setSender(String senderEmail, String senderName)
      设置发件人
      参数:
      senderEmail - 发件人邮件
      senderName - 发件人姓名
      返回:
      SendMail
    • setSender

      public SendMail setSender(String senderEmail)
      设置发件人
      参数:
      senderEmail - 发件人邮件
      返回:
      SendMail
    • addTos

      public SendMail addTos(String[] tos, String[] toNames)
      批量添加收件人
      参数:
      tos - 收件人邮件数组
      toNames - 收件人名称数组, tos.length = toNames.length
      返回:
      SendMail
    • addTo

      public SendMail addTo(String toEmail)
      添加收件人
      参数:
      toEmail - 收件人邮件
      返回:
      SendMail
    • addTo

      public SendMail addTo(String toEmail, String toName)
      添加收件人
      参数:
      toEmail - 收件人邮件
      toName - 收件人姓名
      返回:
      SendMail
    • addTo

      public SendMail addTo(Addr to)
      添加收件人
      参数:
      to - 收件人
      返回:
      SendMail
    • addReplyTo

      public SendMail addReplyTo(String replyTo)
      添加回复人
      参数:
      replyTo - 回复人邮件地址
      返回:
      SendMail
    • addReplyTo

      public SendMail addReplyTo(String replyToEmail, String replyToName)
      添加回复人
      参数:
      replyToEmail - 回复人邮件
      replyToName - 回复人名称
      返回:
      SendMail
    • addReplyTo

      public SendMail addReplyTo(Addr replyTo)
      添加回复人
      参数:
      replyTo - 回复人地址
      返回:
      SendMail
    • addReplyTos

      public SendMail addReplyTos(String[] tos, String[] toNames)
      批量添加回复人
      参数:
      tos - 回复人邮件地址数组
      toNames - 回复人姓名数组
      返回:
      SendMail
    • addCc

      public SendMail addCc(String ccEmail)
      添加抄送人
      参数:
      ccEmail - 抄送人邮件
      返回:
      SendMail
    • addCc

      public SendMail addCc(String ccEmail, String ccName)
      添加抄送人
      参数:
      ccEmail - 抄送人邮件
      ccName - 抄送人姓名
      返回:
      SendMail
    • addCc

      public SendMail addCc(Addr cc)
      添加抄送人
      参数:
      cc - 抄送人
      返回:
      SendMail
    • addCcs

      public SendMail addCcs(String[] ccs, String[] ccNames)
      批量添加 抄送人
      参数:
      ccs - 抄送人邮件数组
      ccNames - 抄送人姓名数组
      返回:
      SendMail
    • addBcc

      public SendMail addBcc(String bccEmail)
      添加密送
      参数:
      bccEmail - 密送邮件
      返回:
      SendMail
    • addBcc

      public SendMail addBcc(String bccEmail, String bccName)
      添加密送
      参数:
      bccEmail - 密送邮件
      bccName - 密送人姓名
      返回:
      SendMail
    • addBcc

      public SendMail addBcc(Addr bcc)
      添加密送
      参数:
      bcc - 密送人
      返回:
      SendMail
    • addBccs

      public SendMail addBccs(String[] bccs, String[] bccNames)
      批量添加 密送人
      参数:
      bccs - 密送邮件数组
      bccNames - 密送人姓名数组
      返回:
      SendMail
    • addAttach

      public SendMail addAttach(File file)
      添加附件
      参数:
      file - 附件文件
      返回:
      SendMail
    • addAttach

      public SendMail addAttach(String attName, File file)
      添加附件
      参数:
      attName - 附件名称
      file - 附件文件
      返回:
      SendMail
    • addAttach

      public SendMail addAttach(String path)
      添加附件
      参数:
      path - 附件路径
      返回:
      SendMail
    • addAttach

      public SendMail addAttach(String attName, String path)
      添加附件
      参数:
      attName - 附加名称
      path - 附件路径
      返回:
      SendMail
    • addAttachs

      public SendMail addAttachs(String[] attachPaths, String[] attNames)
      批量添加 附件
      参数:
      attachPaths - 附件路径数组
      attNames - 附件名称数组
      返回:
      SendMail
    • initProps

      public SendMail initProps(String host, int port, String uid, String pwd)
      初始化SMTP属性
      参数:
      host - SMTP服务器
      port - SMTP端口
      uid - 发件人
      pwd - 发件人密码
      返回:
      SendMail
    • initProps

      public SendMail initProps(String host, int port, String uid, String pwd, boolean tryStartTls)
      初始化SMTP属性
      参数:
      host - SMTP服务器
      port - SMTP端口
      uid - 发件人
      pwd - 发件人密码
      tryStartTls - 尝试用starttls命令发邮件
      返回:
      SendMail
    • getMailSession

      public javax.mail.Session getMailSession()
      获取MailSession
      返回:
      SendMail
    • getAddress

      public javax.mail.internet.InternetAddress getAddress(Addr addr)
      转换为 InternetAddress格式
      参数:
      addr - 邮件地址
      返回:
      InternetAddress
    • getMimeMessage

      public javax.mail.internet.MimeMessage getMimeMessage() throws javax.mail.MessagingException
      获取邮件
      返回:
      邮件
      抛出:
      javax.mail.MessagingException
    • createMinMessage

      public javax.mail.internet.MimeMessage createMinMessage() throws javax.mail.MessagingException
      创建邮件
      返回:
      邮件
      抛出:
      javax.mail.MessagingException
    • addHeader

      public SendMail addHeader(String name, String value)
      将头部放到缓存中
      参数:
      name - 名称
      value - 值
      返回:
      SendMail
    • send

      public boolean send()
      发送邮件
      返回:
      发送结果
    • setDkim

      public SendMail setDkim(String domain, String privateKeyFilePath, String select)
      设置邮件DKIM
      参数:
      domain - 域名,需要和发件人域名一致
      privateKeyFilePath - 私有文件路径
      select - 选择,默认default
      返回:
      SendMail
    • setDkim

      public SendMail setDkim(DKIMCfg cfg)
      设置邮件DKIM
      参数:
      cfg - DKIMCfg
      返回:
      SendMail
    • dkimSign

      public javax.mail.internet.MimeMessage dkimSign(javax.mail.internet.MimeMessage mm) throws Exception
      签名邮件
      参数:
      mm - 原始邮件
      返回:
      签名后邮件
      抛出:
      javax.mail.MessagingException
      DKIMSignerException
      Exception
    • getMessageId

      public String getMessageId()
      获取 messageId
      返回:
      messageId
    • setMessageId

      public SendMail setMessageId(String messageId)
      设置 messageId
      参数:
      messageId - messageId
      返回:
      SendMail
    • getSubject

      public String getSubject()
      标题
      返回:
      the 标题
    • setSubject

      public SendMail setSubject(String subject)
      标题
      参数:
      subject - 标题
    • getHtmlContent

      public String getHtmlContent()
      正文html
      返回:
      the 正文html
    • setHtmlContent

      public SendMail setHtmlContent(String htmlContent)
      正文html
      参数:
      htmlContent - the htmlContent_ to set
    • getTextContent

      public String getTextContent()
      正文 纯文本
      返回:
      the 纯文本
    • setTextContent

      public SendMail setTextContent(String textContent)
      纯文本
      参数:
      textContent - the textContent_ to set
    • getFrom

      public Addr getFrom()
      发件人
      返回:
      the 发件人
    • getTos

      public HashMap<String,Addr> getTos()
      收件人map
      返回:
      the 收件人
    • getCcs

      public HashMap<String,Addr> getCcs()
      抄送map
      返回:
      the 抄送map
    • getBccs

      public HashMap<String,Addr> getBccs()
      密送map
      返回:
      the 密送map
    • getCharset

      public String getCharset()
      获取邮件编码
      返回:
      the 邮件编码
    • setCharset

      public SendMail setCharset(String charset)
      设置邮件编码
      参数:
      charset - the charset_ to set
      返回:
      SendMail
    • isSendToSelf

      public boolean isSendToSelf()
      是否抄送给自己
      返回:
      the 是否抄送给自己
    • setSendToSelf

      public SendMail setSendToSelf(boolean sendToSelf)
      抄送给自己
      参数:
      sendToSelf - the isSendToSelf_ to set
      返回:
      SendMail
    • isDispositionNotificationTo

      public boolean isDispositionNotificationTo()
      要求阅读回执(收件人阅读邮件时会提示回复发件人,表明邮件已收到,并已阅读)
      返回:
      the 要求阅读回执
    • setDispositionNotificationTo

      public SendMail setDispositionNotificationTo(boolean dispositionNotificationTo)
      要求阅读回执(收件人阅读邮件时会提示回复发件人,表明邮件已收到,并已阅读)
      参数:
      dispositionNotificationTo - 要求阅读回执
      返回:
      SendMail
    • isAutoTextPart

      public boolean isAutoTextPart()
      是否自动创建html邮件的纯文本部分,便于降低垃圾邮件判别的评分,默认true
      返回:
      the isAutoTextPart_
    • setAutoTextPart

      public SendMail setAutoTextPart(boolean autoTextPart)
      是否自动创建html邮件的纯文本部分,便于降低垃圾邮件判别的评分,默认true
      参数:
      autoTextPart - the isAutoTextPart_ to set
      返回:
      SendMail
    • getReplayTos

      public HashMap<String,Addr> getReplayTos()
      邮件的回复头
      返回:
      the replayTos_
    • isMailDebug

      public boolean isMailDebug()
      是否跟踪邮件发送细节
      返回:
      the is_mail_debug_
    • setMailDebug

      public SendMail setMailDebug(boolean mailDebug)
      是否跟踪邮件发送细节
      参数:
      mailDebug - the is_mail_debug_ to set
      返回:
      SendMail
    • getLastError

      public Exception getLastError()
      获取最后的错误
      返回:
      the lastError
    • getSingleTo

      public Addr getSingleTo()
      单一收件人,TO为多人,实际发送此人,用于跟踪
      返回:
      the singleTo_
    • setSingleTo

      public SendMail setSingleTo(String singleToEmail, String singleToName)
      设置单一收件人,TO为多人,实际发送此人,用于跟踪
      参数:
      singleToEmail - 邮件地址
      singleToName - 名称
      返回:
      SendMail
    • setMimeMessage

      public SendMail setMimeMessage(javax.mail.internet.MimeMessage mimeMessage)
      设定邮件内容
      参数:
      mimeMessage - the mineMessage_ to set
      返回:
      SendMail
    • getProps

      public Properties getProps()
      获取 发送邮件配置信息,用于修改
      返回:
      the props
    • setUseSsl

      public SendMail setUseSsl(boolean ssl)
      设置是否用 ssl协议进行发送邮件,端口465默认打开此协议
      参数:
      ssl - ssl协议进行发送邮件
      返回:
      SendMail