Я использую Javamail для того, чтобы отправить сообщение от моего gmail другим пользователям, но система не могла его отправить. Он продолжает говорить, что не может загрузить основной класс.Не удается отправить письмо с помощью gmail-smtp с помощью javamail?
Код, который я получил, был демонстрационный код, поэтому я думаю, что это не проблема. Во всяком случае, я размещаю его здесь.
package Email;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMailTLS {
public static void main(String[] args) {
final String username = "[email protected]";
final String password = "abc";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("[email protected]"));
message.setSubject("Testing Subject");
message.setText("Dear Mail Crawler,"
+ "\n\n No spam to my email, please!");
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
Теперь я установил свой CLASSPATH со всей банкой в D:\...
, а также место, где я хранить свой файл .java. В ссылке нет места. Когда я скомпилировал, программа сделала это просто отлично. Проблема началась, когда я попытался запустить код.
`
PS D:\Documents\java> javac SendMailTLS.java
PS D:\Documents\java> java SendMailTLS
Error: Could not find or load main class SendMailTLS
PS D:\Documents\java>
PS D:\Documents\java> java Email.SendMailTLS
Error: Could not find or load main class Email.SendMailTLS
PS D:\Documents\java>
PS D:\Documents\java> java .Email.SendMailTLS
Error: Could not find or load main class .Email.SendMailTLS
PS D:\Documents\java>
PS D:\Documents\java> java -cp D:\Documents\java\ Email.SendMailTLS
Error: Could not find or load main class Email.SendMailTLS
PS D:\Documents\java>
PS D:\Documents\java> java -cp D:\Documents\java\ SendMailTLS
Error: Could not find or load main class SendMailTLS
PS D:\Documents\java>
`
Любая идея, почему это так?
Большое спасибо.
Zestos.
Я просмотрел этот пост и попробовал его, но безрезультатно. Я действительно нуждаюсь в этой программе и не смог понять, что с ней не так. Прошло три дня, и я не понимаю, почему. Пробовал CLASSPATH, попробовал '. \' С именем пакета. Никто не работает? Любая помощь? – Zestos
Вы должны вызвать 'javac Email.SendMailTLS.java', а затем позвонить java -cp ./ java' Email.SendMailTLS' и ваш файл 'SendMailTLS.java' должен находиться в каталоге' java \ Email' – Jens
Спасибо @Jens. Это действительно решило мою проблему «не удалось загрузить основной класс». – Zestos