示例#1
0
    public void actionPerformed(ActionEvent event) {
      System.out.println("Sending mail");

      /* Check that we have the local mailserver */
      if ((serverField.getText()).equals("")) {
        System.out.println("Need name of local mailserver!");
        return;
      }

      /* Check that we have the sender and recipient. */
      if ((fromField.getText()).equals("")) {
        System.out.println("Need sender!");
        return;
      }
      if ((toField.getText()).equals("")) {
        System.out.println("Need recipient!");
        return;
      }

      /* Create the message */
      Message mailMessage =
          new Message(
              fromField.getText(),
              toField.getText(),
              subjectField.getText(),
              messageText.getText());

      /* Check that the message is valid, i.e., sender and
      recipient addresses look ok. */
      if (!mailMessage.isValid()) {
        return;
      }

      /* Create the envelope, open the connection and try to send
      the message. */
      Envelope envelope;
      try {
        envelope = new Envelope(mailMessage, serverField.getText());
      } catch (UnknownHostException e) {
        /* If there is an error, do not go further */
        return;
      }
      try {
        SMTPConnection connection = new SMTPConnection(envelope);
        connection.send(envelope);
        connection.close();
      } catch (IOException error) {
        System.out.println("Sending failed: " + error);
        return;
      }
      System.out.println("Mail sent succesfully!");
    }
示例#2
0
 void start() {
   connection.setErrorHandler(
       th -> {
         log.debug("QUIT failed, ignoring exception", th);
         resultHandler.handle(null);
       });
   connection.write(
       "QUIT",
       message -> {
         log.debug("QUIT result: " + message);
         if (!StatusCode.isStatusOk(message)) {
           log.warn("quit failed: " + message);
         }
         resultHandler.handle(null);
       });
 }