Forum » Programiranje » Java in pošiljanje elektronske pošte!!
Java in pošiljanje elektronske pošte!!
janez_janez ::
Lep pozdrav!
Mam en problem. En program morem malo razsirit, pa me zanima ce bi keri znau pomagat:, zdaj bi ga morau dopolnit tako,
da bi uporabniku omogocal posiljanje elektronske poste preko streznika SMTP, ki si ga sam izbere.
Nato pa še, da bo omogocal sprejemanje paketov UDP na enih vratih in da bo hkrati uporabniku omogocal posiljanje paketov UDP na poljuben racunalnik na poljubna vrata.
Za vsakršno pomoč se že v naprej zahvaljujem!!!
Mam en problem. En program morem malo razsirit, pa me zanima ce bi keri znau pomagat:, zdaj bi ga morau dopolnit tako,
da bi uporabniku omogocal posiljanje elektronske poste preko streznika SMTP, ki si ga sam izbere.
Nato pa še, da bo omogocal sprejemanje paketov UDP na enih vratih in da bo hkrati uporabniku omogocal posiljanje paketov UDP na poljuben racunalnik na poljubna vrata.
Za vsakršno pomoč se že v naprej zahvaljujem!!!
//////////////////////////////////////////////////// import java.io.*; import java.net.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class gui_echo { static JFrame okno; static JScrollPane plosca1; static JTextField vnos; static JTextArea izpis; static int port; // stevilka vrat static String hostname; // ime racunalnika static String username; // ime uporabnika static boolean zveza; // ali je dana zahteva po zvezi static Socket s; // vrata static BufferedReader in; // potrebujemo za branje podatkov z vrat static PrintWriter out; // potrebujemo za pisanje na vrata // KONSTRUKTOR gui_echo() { } // GLAVNI PROGRAM public static void main(String[] args) { JMenuBar menuBar; JMenu menu1, menu2, menu3, menu4; JMenuItem dateDeneb, dateHawaii, dateUser, echoDeneb, echoHawaii, echoUser, qotdGrok, qotdUser, cgenDeneb, cgenHawaii, cgenUser; //Ustvarim meni. menuBar = new JMenuBar(); menu1 = new JMenu("Datum"); menuBar.add(menu1); dateDeneb = new JMenuItem("deneb"); menu1.add(dateDeneb); dateHawaii = new JMenuItem("hawaii"); menu1.add(dateHawaii); dateUser = new JMenuItem("drugo"); menu1.add(dateUser); menu2 = new JMenu("Echo"); menuBar.add(menu2); echoDeneb = new JMenuItem("deneb"); menu2.add(echoDeneb); echoHawaii = new JMenuItem("hawaii"); menu2.add(echoHawaii); echoUser = new JMenuItem("drugo"); menu2.add(echoUser); menu3 = new JMenu("QOTD"); menuBar.add(menu3); qotdGrok = new JMenuItem("grok"); menu3.add(qotdGrok); qotdUser = new JMenuItem("drugo"); menu3.add(qotdUser); menu4 = new JMenu("CharGen"); menuBar.add(menu4); cgenDeneb = new JMenuItem("deneb"); menu4.add(cgenDeneb); cgenHawaii = new JMenuItem("hawaii"); menu4.add(cgenHawaii); cgenUser = new JMenuItem("drugo"); menu4.add(cgenUser); dateDeneb.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { port = 13; /* VRATA STEVILKA 13 SO ZA STORITEV DATE */ hostname = new String("deneb.uni-mb.si"); username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); izpis.append("Prebrani datum: "); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; while (zveza) { try { line = in.readLine(); if (line != null) { izpis.append(line + "n"); // izpisi vrstico } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } } // konec while // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); dateHawaii.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { port = 13; /* VRATA STEVILKA 13 SO ZA STORITEV DATE */ hostname = new String("mauicc.hawaii.edu"); username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); izpis.append("Prebrani datum: "); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; while (zveza) { try { line = in.readLine(); if (line != null) { izpis.append(line + "n"); // izpisi vrstico } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } } // konec while // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); dateUser.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { String userserv = (String)JOptionPane.showInputDialog( okno,"Vnesi strežnik:","Vnos strežnika",JOptionPane.PLAIN_MESSAGE, null, null, null); port = 13; /* VRATA STEVILKA 13 SO ZA STORITEV DATE */ hostname = userserv; username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); izpis.append("Prebrani datum: "); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; while (zveza) { try { line = in.readLine(); if (line != null) { izpis.append(line + "n"); // izpisi vrstico } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } } // konec while // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); echoDeneb.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { String bla = (String)JOptionPane.showInputDialog( okno,"Vnesi sporo�ilo za strežnik:","Vnos sporo�ila za echo",JOptionPane.PLAIN_MESSAGE, null, null, null); port = 7; /* VRATA STEVILKA 7 SO ZA STORITEV ECHO */ hostname = new String("deneb.uni-mb.si"); username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); izpis.append("Strežnik je odgovoril: "); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; try { out.println(bla); line = in.readLine(); if (line != null) { izpis.append(line + "n"); // izpisi vrstico } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); echoHawaii.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { String bla = (String)JOptionPane.showInputDialog( okno,"Vnesi sporo�ilo za strežnik:","Vnos sporo�ila za echo",JOptionPane.PLAIN_MESSAGE, null, null, null); port = 7; /* VRATA STEVILKA 7 SO ZA STORITEV ECHO */ hostname = new String("mauicc.hawaii.edu"); username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); izpis.append("Strežnik je odgovoril: "); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; try { out.println(bla); line = in.readLine(); if (line != null) { izpis.append(line + "n"); // izpisi vrstico } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); echoUser.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { String userserv = (String)JOptionPane.showInputDialog( okno,"Vnesi strežnik:","Vnos strežnika",JOptionPane.PLAIN_MESSAGE, null, null, null); String bla = (String)JOptionPane.showInputDialog( okno,"Vnesi sporo�ilo za strežnik:","Vnos sporo�ila za echo",JOptionPane.PLAIN_MESSAGE, null, null, null); port = 7; /* VRATA STEVILKA 7 SO ZA STORITEV ECHO */ hostname = userserv; username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); izpis.append("Strežnik je odgovoril: "); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; try { out.println(bla); line = in.readLine(); if (line != null) { izpis.append(line + "n"); // izpisi vrstico } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); qotdGrok.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { port = 17; /* VRATA STEVILKA 17 SO ZA STORITEV QOTD */ hostname = new String("grok.cac.washington.edu"); username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; while (zveza) { try { line = in.readLine(); if (line != null) { izpis.append(line + "n"); // izpisi vrstico } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } } // konec while // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); qotdUser.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { String userserv = (String)JOptionPane.showInputDialog( okno,"Vnesi strežnik:","Vnos strežnika",JOptionPane.PLAIN_MESSAGE, null, null, null); port = 17; /* VRATA STEVILKA 17 SO ZA STORITEV QOTD */ hostname = userserv; username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; while (zveza) { try { line = in.readLine(); if (line != null) { izpis.append(line + "n"); // izpisi vrstico } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } } // konec while // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); cgenDeneb.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { port = 19; /* VRATA STEVILKA 19 SO ZA STORITEV CGEN */ hostname = new String("deneb.uni-mb.si"); username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; int i = 0; while (zveza) { try { line = in.readLine(); if (line != null && i < 10) { izpis.append(line + "n"); // izpisi vrstico i++; } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } } // konec while // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); cgenHawaii.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { port = 19; /* VRATA STEVILKA 19 SO ZA STORITEV CGEN */ hostname = new String("mauicc.hawaii.edu"); username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; int i = 0; while (zveza) { try { line = in.readLine(); if (line != null && i < 10) { izpis.append(line + "n"); // izpisi vrstico i++; } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } } // konec while // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); cgenUser.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent ae) { new Thread() { public void run() { String userserv = (String)JOptionPane.showInputDialog( okno,"Vnesi strežnik:","Vnos strežnika",JOptionPane.PLAIN_MESSAGE, null, null, null); port = 19; /* VRATA STEVILKA 19 SO ZA STORITEV CGEN */ hostname = userserv; username = new String("noname"); try { izpis.append("Povezujem se na vrata " + String.valueOf(port) + " na strežniku " + hostname + "... " + "n"); s = new Socket(hostname,port); } catch (Exception e) { izpis.append("Strežnik ni pripravljen." + "n"); return; } // USTVARIMO POMOCNIKA ZA BRANJE IN PISANJE NA VTICNICO try { in = new BufferedReader(new InputStreamReader(s.getInputStream())); out = new PrintWriter(s.getOutputStream(),true); } catch (Exception e) {e.printStackTrace();} // ZVEZA // VRSTICO line Z VTICNICE PREBEREMO Z UKAZOM line = in.readLine() // VRSTICO line NA VTICNICO NAPISEMO Z UKAZOM out.println(line) zveza = true; String line = null; int i = 0; while (zveza) { try { line = in.readLine(); if (line != null && i < 10) { izpis.append(line + "n"); // izpisi vrstico i++; } else { zveza = false; // streznik se noce vec pogovarjati } } catch (Exception e) { e.printStackTrace(); } } // konec while // KONEC ZVEZE try { in.close(); // zakljucimo citanje vrat out.close(); // zakljucimo pisanje na vrata s.close(); // izklopimo vticnico izpis.append("Povezava prekinjena!" + "n" + "n"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); // TVORJENJE GUI okno = new JFrame("swiiiiiing"); okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); izpis = new JTextArea(40,80); izpis.setEditable(false); okno.setJMenuBar(menuBar); plosca1 = new JScrollPane(izpis); okno.getContentPane().add(plosca1, BorderLayout.CENTER); okno.pack(); okno.setVisible(true); } }
- spremenil: Senitel ()
janez_janez ::
Ne pričakujem, da mi boste reševal vaje iz predmeta RKO, ampak sem prosu za pomoč, lahko tud kakšen nasvet glede naloge. Tak, da lepo prosim.
nejck ::
udp narediš skoraj isto kot tcp ... pogooglaj malo... mail pa uspostavis tcp povezavo in pošlješ podatke kot string (pogooglaj mail protokol in boš našel kaj je treba poslat...)
lp
lp
overlord_tm ::
Probaj se z netcatom(oz telnetom) povezat na kak smtp streznik, pa bos videl da ni nobena umetnost. Na wikiju imaš pa tud lepo napisano kako poteka komunikacija :)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [java]problem z ThrowsOddelek: Programiranje | 1600 (1129) | killa bee |
» | [Android] ThreadOddelek: Programiranje | 1191 (968) | Spura |
» | [Android] Nov tip shranjevanja slikeOddelek: Programiranje | 2182 (1306) | urosz |
» | [Java] Urejanje baze z JTableOddelek: Programiranje | 1013 (797) | vonNeumann |
» | [JAVA] zaustavitev niti (threadov)Oddelek: Programiranje | 3171 (3171) | morbo |