次のコードを使用し、Javamail API を使用して電子メールを送信できます。これにより、「yahoo 電子メール ID」として「FROM」を使用して任意の電子メール ID に送信できます。コード:
mailFORM.html
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Mail form in html</title>
</head>
<body>
<table border="1" width="50%" cellpadding="0" cellspacing="0">
<tr>
<td width="100%">
<form method="POST" action="mail.jsp">
<table border="1" width="100%" cellpadding="0" cellspacing="0">
<h1>Mail API</h1>
<tr>
<td width="50%"><b>To:</b></td>
<td width="50%"><input type="text" name="to" size="30"></td>
</tr>
<tr>
<td width="50%"><b>From:</b></td>
<td width="50%"><input type="text" name="from" size="30"></td>
</tr>
<tr>
<td width="50%"><b>Subject:</b></td>
<td width="50%"><input type="text" name="subject" size="30"></td>
</tr>
<tr>
<td width="50%"><b>Description:</b></td>
<td width="50%"><textarea name="description" type="text"
cols="40" rows="15" size=100>
</textarea>
</td>
</tr>
<tr>
<td><p><input type="submit" value="Send Mail" name="sendMail"></td>
</tr>
</table>
</p>
</form>
</td>
</tr>
</table>
</body>
</html>
メール.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@ page language="java" import="javax.naming.*,java.io.*,javax.mail.*,
javax.mail.internet.*,com.sun.mail.smtp.*"%>
<html>
<head>
<title>sending mail using contactus form</title>
</head>
<body>
<%
try{
Session mailSession = Session.getInstance(System.getProperties());
Transport transport = new SMTPTransport(mailSession,new URLName("smtp.mail.yahoo.com"));
transport = mailSession.getTransport("smtps");
transport.connect("smtp.mail.yahoo.com",465,"myyahooid@yahoo.com","myyahoopassword");
MimeMessage m = new MimeMessage(mailSession);
m.setFrom(new InternetAddress(%><%request.getParameter("from")%><%));
Address[] toAddr = new InternetAddress[] {
new InternetAddress(%><%request.getParameter("to")%><%)
};
m.setRecipients(javax.mail.Message.RecipientType.TO, toAddr );
m.setSubject(%><%request.getParameter("subject")%><%);
m.setSentDate(new java.util.Date());
m.setContent(%><%request.getParameter("description")%><%, "text/plain");
transport.sendMessage(m,m.getAllRecipients());
transport.close();
out.println("Thanks for sending mail!");
}
catch(Exception e){
out.println(e.getMessage());
e.printStackTrace();
}
%>
</body>
ここで、簡単な CONTACTUS フォームを作成したいと思います。このフォームでは、明らかな理由から、"mailFORM.html" ファイルから "TO" フィールドを削除します。訪問者だけが私のウェブサイトにアクセスし、FROM、NAME、SUBJECT、および説明を入力して「mycompanyid@domain.com」に電子メールを送信するようにしたいからです。
では、ユーザー名とパスワードを入力するというこの問題を解決するにはどうすればよいでしょうか。ここにパスワードを入力したコードを作成できないためです。smtp ごとに個別のコードを作成することはできません...私の Web サイトの連絡先ページにアクセスしている VISITIR は、gmail、yahoo などの任意のドメインから電子メールを入力してフォームに入力できるためです。
結論として、「mycompanyid@domain.com」 http://www.tutorialspoint.com/about/contact_us.htmのような会社の特定の電子メールIDに詳細を送信するこのようなフォームを作成したいだけです(匿名のWebサイトを使用)