luni, 6 iulie 2009

Utilizarea protocoalelor POP3 si SMTP in JAVA - Partea 2

2.Protocolul SMTP

SMTP (Simple Mail Transfer Protocol) este un protocol simplu, folosit pentru transmiterea mesajelor în format electronic pe Internet. SMTP foloseşte portul de aplicaţie 25 TCP şi determină adresa unui server SMTP pe baza înregistrării MX (Mail eXchange) din configuraţia serverului DNS.

Metoda pentru conectarea la un server ce recunoaste protocolul SMTP si trimiterea unui email catre o adresa trimisa ca parametru:


import sun.net.smtp.SmtpClient;

import java.io.*;

//sunt trimise ca parametri urmatoarele informatii:
//String destinationAddress - adresa catre care va fi trimisa mailul (ex. //'mihai.mogos@gmail.com')
//String smtpServer - adresa serverului ce recunoaste protocolul SMTP
//String subject - subiectul emailului ce va fi trimis
//Strin pathFileName - calea catre fisierul ce contine textul mesajului

public boolean forwardEmailMsg(
String destinationAddress,
String smtpServer,
String subject,
String pathFileName)
{


StringBuffer message = new StringBuffer(
"No message found");

try{


//Se realizeaza conexiunea cu serverul ce recunoaste protocolul SMTP
//Pentru asta se creaza un obiect din clasa sun.net.smtp.SmtpClient


SmtpClient smtp =
new SmtpClient(smtpServer);

//se seteaza adresa de email catrea care se va trimite mesajul electronic
//folosindu-se metoda from(String) cat si metoda to(String)




smtp.from(destinationAddress);

smtp.to(destinationAddress);


//se creaza corpul mesajului concatentndu-se fiecare linie
//din fisierul a carui cale a fost trimisa ca parametru


message = new StringBuffer(readLines(
pathFileName,null,null));


//se insereaza subiectul mesajului ca parte a obiectului
//de tip StringBuffer folosit pentru conceperea mesajului


message = message.insert(message.indexOf(
"Subject: ")+9,fwdTag);


//Get an output stream for the message


PrintStream msg = smtp.startMessage();


//Write the message into the output

// stream.


msg.println(new String(message));


//Close the stream and send the message


smtp.closeServer();


return true;


}catch( Exception e ){


e.printStackTrace();


System.out.println(
"while forwarding email");


//Sound an alarm.


Toolkit.getDefaultToolkit().beep();


try{


Thread.currentThread().sleep(500);


}catch(Exception ex){


System.out.println(ex);


}//end catch


Toolkit.getDefaultToolkit().beep();



//Return false to indicate that the msg

// was not successfully forwarded.


return false;


}//end catch


}//end forwardEmailMsg


Niciun comentariu:

Trimiteți un comentariu