Class SmtpEmailSender

  • All Implemented Interfaces:
    EmailSender

    public class SmtpEmailSender
    extends Object
    implements EmailSender
    Sends email via a nearby SMTP server.
    • Method Detail

      • canEmail

        public boolean canEmail​(String address)
        Description copied from interface: EmailSender
        Can the address receive messages from us?
        Specified by:
        canEmail in interface EmailSender
        Parameters:
        address - the address to consider.
        Returns:
        true if this sender will deliver to the address.
      • send

        public void send​(Address from,
                         Collection<Address> rcpt,
                         Map<String,​EmailHeader> callerHeaders,
                         String body)
                  throws com.google.gerrit.exceptions.EmailException
        Description copied from interface: EmailSender
        Sends an email message with a text body only (i.e. not HTML or multipart).

        Authors of new implementations of this interface should not use this method to send a message because this method does not accept the HTML body. Instead, authors should use the above signature of send.

        This version of the method is preserved for support of legacy implementations.

        Specified by:
        send in interface EmailSender
        Parameters:
        from - who the message is from.
        rcpt - one or more address where the message will be delivered to. This list overrides any To or CC headers in headers.
        callerHeaders - message headers.
        body - text to appear in the body of the message.
        Throws:
        com.google.gerrit.exceptions.EmailException - the message cannot be sent.
      • send

        public void send​(Address from,
                         Collection<Address> rcpt,
                         Map<String,​EmailHeader> callerHeaders,
                         String textBody,
                         String htmlBody)
                  throws com.google.gerrit.exceptions.EmailException
        Description copied from interface: EmailSender
        Sends an email message. Messages always contain a text body, but messages can optionally include an additional HTML body. If both body types are present, send should construct a multipart/alternative message with an appropriately-selected boundary.
        Specified by:
        send in interface EmailSender
        Parameters:
        from - who the message is from.
        rcpt - one or more address where the message will be delivered to. This list overrides any To or CC headers in headers.
        callerHeaders - message headers.
        textBody - text to appear in the text/plain body of the message.
        htmlBody - optional HTML code to appear in the text/html body of the message.
        Throws:
        com.google.gerrit.exceptions.EmailException - the message cannot be sent.
      • generateMultipartBoundary

        public static String generateMultipartBoundary​(String textBody,
                                                       String htmlBody)
                                                throws com.google.gerrit.exceptions.EmailException
        Throws:
        com.google.gerrit.exceptions.EmailException