genera un código de una falla del correo electrónico de un estudiante en base a lo siguiente: Requisitos de información: La cuenta de correo debe tener un formato similar a nombre.apellido.apellido@est.uned.ac.cr que el estudiante pueda realizar la Descripción de la falla Registro de correo alterno Número de Teléfono Operación por realizar: Presentar una nota en pantalla de que se registro el caso, y se enviará información al correo alterno.
Aquí te presento un ejemplo de código en Java que cumple con los requisitos que se te han proporcionado: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class FallaCorreoEstudiante extends JFrame { private JTextField nombreField; private JTextField apellido1Field; private JTextField apellido2Field; private JTextField correoField; private JTextField correoAlternoField; private JTextField telefonoField; private JTextArea descripcionField; public FallaCorreoEstudiante() { setLayout(new BorderLayout()); // Panel de entrada de datos JPanel panelDatos = new JPanel(); panelDatos.setLayout(new GridLayout(6, 2)); panelDatos.add(new JLabel("Nombre:")); nombreField = new JTextField(); panelDatos.add(nombreField); panelDatos.add(new JLabel("Apellido 1:")); apellido1Field = new JTextField(); panelDatos.add(apellido1Field); panelDatos.add(new JLabel("Apellido 2:")); apellido2Field = new JTextField(); panelDatos.add(apellido2Field); panelDatos.add(new JLabel("Correo:")); correoField = new JTextField(); panelDatos.add(correoField); panelDatos.add(new JLabel("Correo Alterno:")); correoAlternoField = new JTextField(); panelDatos.add(correoAlternoField); panelDatos.add(new JLabel("Teléfono:")); telefonoField = new JTextField(); panelDatos.add(telefonoField); add(panelDatos, BorderLayout.CENTER); // Panel de descripción de la falla JPanel panelDescripcion = new JPanel(); panelDescripcion.setLayout(new BorderLayout()); descripcionField = new JTextArea(10, 20); descripcionField.setLineWrap(true); descripcionField.setWrapStyleWord(true); JScrollPane scrollPane = new JScrollPane(descripcionField); panelDescripcion.add(scrollPane, BorderLayout.CENTER); add(panelDescripcion, BorderLayout.SOUTH); // Botón de enviar JButton enviarButton = new JButton("Enviar"); enviarButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { enviarFalla(); } }); add(enviarButton, BorderLayout.EAST); } private void enviarFalla() { String nombre = nombreField.getText(); String apellido1 = apellido1Field.getText(); String apellido2 = apellido2Field.getText(); String correo = correoField.getText(); String correoAlterno = correoAlternoField.getText(); String telefono = telefonoField.getText(); String descripcion = descripcionField.getText(); if (nombre.isEmpty() || apellido1.isEmpty() || apellido2.isEmpty() || correo.isEmpty() || correoAlterno.isEmpty() || telefono.isEmpty() || descripcion.isEmpty()) { JOptionPane.showMessageDialog(this, "Por favor, complete todos los campos."); return; } if (!correo.matches("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$")) { JOptionPane.showMessageDialog(this, "El correo electrónico no tiene un formato válido."); return; } if (!correoAlterno.matches("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$")) { JOptionPane.showMessageDialog(this, "El correo electrónico alterno no tiene un formato válido."); return; } // Enviar correo electrónico String asunto = "Falla de correo electrónico de estudiante"; String mensaje = "Nombre: " + nombre + "\nApellido 1: " + apellido1 + "\nApellido 2: " + apellido2 + "\nCorreo: " + correo + "\nCorreo Alterno: " + correoAlterno + "\nTeléfono: " + telefono + "\nDescripción: " + descripcion; String destinatario = correoAlterno; try { javax.mail.Session session = javax.mail.Session.getDefaultInstance(new javax.mail.Properties() {{ setProperty("mail.smtp.host", "smtp.gmail.com"); setProperty("mail.smtp.port", "587"); setProperty("mail.smtp.auth", "true"); setProperty("mail.smtp.starttls.enable", "true"); }}); javax.mail.Message message = new javax.mail.internet.MimeMessage(session, new javax.mail.internet.InternetAddress(destinatario)); javax.mail.Transport.send(message); JOptionPane.showMessageDialog(this, "Se ha enviado un correo electrónico a " + destinatario + " con la descripción de la falla."); } catch (Exception ex) { JOptionPane.showMessageDialog(this, "Error al enviar correo electrónico: " + ex.getMessage()); } } public static void main(String[] args) { FallaCorreoEstudiante ventana = new FallaCorreoEstudiante(); ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ventana.setSize(600, 400); ventana.setVisible(true); } } ``` Este código crea una ventana con campos para ingresar la información del estudiante, incluyendo el correo electrónico y el correo electrónico alterno. Cuando se presiona el botón "Enviar", se verifica que todos los campos estén completos y que los correos electrónicos tengan un formato válido. Si todo está correcto, se envía un correo electrónico al correo electrónico alterno con la descripción de la falla.