以下は私のコードです。 java 私は内部ネットワークを使用してこれを実行しようとしています。これは、MVCポートレットのprocessActionメソッドで記述されます。私はLiferayのJava Webアプリケーション経由でメールを送信しようとしていますが、何も問題なく動作しているようです。
String name=actionRequest.getParameter("name");
String email=actionRequest.getParameter("email");
String myMessage=actionRequest.getParameter("message");
String host = "smtp.xyz.com";
int port = 25;
String username = "xxx";
String password = "yyy";
Properties props = new Properties();
props.put("mail.transport.protocol","smtp");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.xyz.com");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.user", username);
props.put("mail.smtp.password", password);
Session session = Session.getInstance(props);
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(email));
message.setRecipients(Message.RecipientType.TO,InternetAddress.parse("xxx"));
message.setSubject("Testing Subject");
message.setText("From " + name + "," + myMessage);
Transport transport = session.getTransport("smtp");
transport.connect(host, port, username, password);
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
良いアドバイス、それを必要とする各ポートレットのメールコードをやり直す必要はありませんよう!そして構成への変更はハードコーディングされません! – Jonny
気高く私はそれが働いていた........ :) – lee