Hallo, ich habe ein Programm erstellt das wenn ein Button gedrückt wird und verschiedenen Bedingungen zutreffen, soll eine E-Mail gesendet werden. Die E-Mail soll über die G-Mail AIP gesendet werden. Ich habe auf den G-Mail Konto schon alles dafür eingestellt. Das Problem bei meinen Programm ist, ich weiß nicht genau welche Bibliotheken ich brauch.(ich benutze Intellij) Könntet ihr mir die Bibliotheken sagen, die ich brauch? Vielen dank für eure Antworten!
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFrame;
//Import für die E-Mail Sendung
import javax.mail.*;
import javax.mail.Session;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import com.google.api.services.gmail.Gmail;
weiter.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
text0.setVisible(false);
text01.setVisible(false);
text02.setVisible(false);
text03.setVisible(false);
text04.setVisible(false);
text05.setVisible(false);
fehler = 0;
fehler1 = 0;
if (Textfeld1.getText().equals("")) {
text0.setText("DIESES FELD MUSS AUSGEFÜLLT WERDEN!!");
text0.setVisible(true);
} else {
fehler = fehler+1;
fehler1 = 1;
}
if (!Textfeld1.getText().contains("@") && fehler1 == 1) {
text0.setText("KEINE GÜLTIGE E-MAIL ADRESSE!! ");
text0.setVisible(true);
} else {
fehler = fehler+1;
}
if (Textfeld2.getText().equals("")) {
text01.setText("DIESES FELD MUSS AUSGEFÜLLT WERDEN!!");
text01.setVisible(true);
} else {
fehler = fehler+1;
}
if (Textfeld3.getText().equals("")) {
text02.setText("DIESES FELD MUSS AUSGEFÜLLT WERDEN!!");
text02.setVisible(true);
} else {
fehler = fehler+1;
}
if (Textfeld4.getText().equals("")) {
text03.setText("DIESES FELD MUSS AUSGEFÜLLT WERDEN!!");
text03.setVisible(true);
} else {
fehler = fehler+1;
}
if (Textfeld5.getText().equals("")) {
text04.setText("DIESES FELD MUSS AUSGEFÜLLT WERDEN!!");
text04.setVisible(true);
} else {
fehler = fehler+1;
}
if (Textfeld6.getText().equals("")) {
text05.setText("DIESES FELD MUSS AUSGEFÜLLT WERDEN!!");
text05.setVisible(true);
} else {
fehler = fehler+1;
}
if (fehler == 7) {
text.setText("...");
weiter.setVisible(false);
Textfeld1.setVisible(false);
String emailadresse = Textfeld1.getText();
Textfeld1.setText("");
Textfeld2.setVisible(false);
String programm = Textfeld2.getText();
Textfeld2.setText("");
Textfeld3.setVisible(false);
String was = Textfeld3.getText();
Textfeld3.setText("");
String anrede = Textfeld4.getText();
Textfeld4.setText("");
Textfeld4.setVisible(false);
String vorname = Textfeld5.getText();
Textfeld5.setText("");
Textfeld5.setVisible(false);
String nachname = Textfeld6.getText();
Textfeld6.setText("");
Textfeld6.setVisible(false);
text2.setVisible(false);
text0.setVisible(false);
text01.setVisible(false);
text02.setVisible(false);
text03.setVisible(false);
text04.setVisible(false);
text05.setVisible(false);
text3.setVisible(true);
text4.setVisible(false);
text5.setVisible(false);
text6.setVisible(false);
text7.setVisible(false);
// Code zur Erstellung und Sendung der E-Mail hier
// Pfad zur heruntergeladenen JSON-Datei mit den Anmeldeinformationen
String credentialsPath = ...";
GoogleCredentials credentials;
try {
credentials = GoogleCredentials.fromStream(new FileInputStream(credentialsPath))
.createScoped(Collections.singleton("https://www.googleapis.com/auth/gmail.compose"));
// Erstellen Sie ein Gmail-Objekt mit den Anmeldeinformationen
Gmail gmail = new Gmail.Builder(credentials.getTransport(), credentials.getJsonFactory(), credentials)
.setApplicationName("Meine Gmail API-Anwendung")
.build();
// Beispiel: Erstellen und Senden einer E-Mail
String senderEmail = "...";
String recipientEmail = "..."; //Auf Variable emailadresse setzen!
String subject = "...";
String body = "...";
Message existingMessage;
try {
Message existingMessage = createMessageWithEmail(createEmail(senderEmail, recipientEmail, subject, body));
gmail.users().messages().send("me", existingMessage).execute();
text3.setBounds(100, 300, 1300, 400);
text3.setForeground(Color.GREEN);
text3.setText("...");
} catch (MessagingException | IOException ex) {
ex.printStackTrace();
}
} catch (IOException ex) {
ex.printStackTrace();
text3.setBounds(100, 300, 1300, 400);
text3.setForeground(Color.RED);
text3.setText("Ein Fehler ist aufgetreten!");
}
}
}
});
....
}
private static MimeMessage createEmail(String from, String to, String subject, String bodyText)
throws MessagingException {
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
MimeMessage email = new MimeMessage(session);
email.setFrom(new InternetAddress(from));
email.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
email.setSubject(subject);
email.setText(bodyText);
return email;
}
private static com.google.api.services.gmail.model.Message createMessageWithEmail(MimeMessage email) throws MessagingException, IOException {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
email.writeTo(buffer);
byte[] bytes = buffer.toByteArray();
String encodedEmail = Base64.getUrlEncoder().encodeToString(bytes);
com.google.api.services.gmail.model.Message message = new com.google.api.services.gmail.model.Message();
message.setRaw(encodedEmail);
return message;
}