0
Ich bekomme die Syntax für die folgende Zeile beim Versuch, die Mail über SMTP zu senden. Ich versuchte in Google, aber nicht jede relevante Antwort erhalten.Syntaxfehler in property.setProperty erhalten ("mail.smtp.host", host);
property.setProperty ("mail.smtp.host", host);
Code:
public class SendMail {
//Recipient Mail id
String to = "Receiver Mail ID";
//Sender Mail Id
String from = "Sender Mail ID";
//Sending email from the localhost
String host = "localhost";
//Get System Properties
Properties property = System.getProperties();
//Setup the mail server
property.setProperty("mail.smtp.host",host);
property.setProperty("mail.smtp.port" , "465");
//property.put("mail.smtp.auth", "true");
//Get the default session object
Session session = Session.getDefaultInstance(property);
try
{
//Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
//Set From: header field of the header
message.setFrom(new InternetAddress(from));
//Set To : header field of the header
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
//Set Subject : header field
message.setSubject("Automation Testing Report");
//Create the Message part
BodyPart messageBodypart = new MimeBodyPart();
//Enter the message in the Mail Body
messageBodypart.setText("***********Find the below for the Report****************");
//Create a Multipart Message
Multipart multipart = new MimeMultipart();
//Set Text message part
multipart.addBodyPart(messageBodypart);
//Part two is attachment
/*create the Message part*/
messageBodypart = new MimeBodyPart();
String filename = "E:\\Project\\jar\\Selenium Scripts\\Hybrid_Driven\\test-output\\emailable-report.html";
DataSource source = new FileDataSource(filename);
messageBodypart.setDataHandler(new DataHandler(source));
messageBodypart.setFileName(filename);
//set the text message part
multipart.addBodyPart(messageBodypart);
//Send the complete message part
message.setContent(multipart);
//Send message
Transport.send(message);
System.out.println("Mail has sent successfully");
}
catch(MessagingException mex)
{
mex.printStackTrace();
}
}
}
Bitte helfen Sie mir, dieses Problem zu lösen.
Ya super es wurde behoben. Aber was ist der Grund. Wir sollten es in der Klassendefinition nicht erwähnen? –
Klassendefinitionen sind nicht dazu gedacht, Code in Java auszuführen. Dies scheint in anderen Sprachen anders zu sein, z.B. Scala. Aber der Code in der Klassendefinition in scala ist implizit nur ein Teil des Standardkonstruktors. Grundsätzlich definiert die Klassendefinition, welche Memberfelder und Methoden eine Klasse hat. Konstruktoren und Methoden können dann mit diesen Feldern und Methoden arbeiten –
Vielen Dank für die Klarstellung .Eine weitere Sache durch Ausführen dieser Klasse ich bekomme keine E-Mails als eine Ausgabe.ich weiß nicht, ob es ausgeführt wird oder nicht. Wie Sie das finden . Ich benutze POM Modell –