アプリケーションからメールを送信できません。アプリケーションで単純な SMTP サーバーを使用できません。また、JAVA でメールを送信する方法がわかりません。PHP の mail() が使用するのと同じ/類似のメカニズムを使用することになっています。残念ながら、私はそれを行う方法がわかりません。
4 に答える
Java Mail APIは、電子メールの送受信をサポートします。API はプラグイン アーキテクチャを提供し、ベンダー独自のプロトコルに対するベンダーの実装を実行時に動的に検出して使用することができます。Sun は参照実装を提供し、次のプロトコルをサポートしています。
- インターネット メール アクセス プロトコル (IMAP)
- 簡易メール転送プロトコル (SMTP)
- 郵便局プロトコル 3 (POP 3)
使用方法の例を次に示します。
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMail {
private String from;
private String to;
private String subject;
private String text;
public SendMail(String from, String to, String subject, String text){
this.from = from;
this.to = to;
this.subject = subject;
this.text = text;
}
public static void main(String[] args) {
String from = "abc@gmail.com";
String to = "xyz@gmail.com";
String subject = "Test";
String message = "A test message";
SendMail sendMail = new SendMail(from, to, subject, message);
sendMail.send();
}
public void send(){
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "465");
Session mailSession = Session.getDefaultInstance(props);
Message simpleMessage = new MimeMessage(mailSession);
InternetAddress fromAddress = null;
InternetAddress toAddress = null;
try {
fromAddress = new InternetAddress(from);
toAddress = new InternetAddress(to);
} catch (AddressException e) {
e.printStackTrace();
}
try {
simpleMessage.setFrom(fromAddress);
simpleMessage.setRecipient(RecipientType.TO, toAddress);
simpleMessage.setSubject(subject);
simpleMessage.setText(text);
Transport.send(simpleMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
JavaMail APIを確認する必要があります。また、PHP の mail() が必要とするため、その電子メールを送信するには SMTP サーバーが必要です。
SMTP サーバーが必要な場合は、お使いのオペレーティング システムの SMTP サーバーを Google で検索することをお勧めします。または、ISP またはサーバー ホストが提供する SMTP サーバーを使用することもできます。
JavaMailapiはApacheJamesなどのローカルSMTPサーバーで使用できるため、 Jamesサーバーをインストールして実行した後、SMTPサーバーのIPを次のように設定できます。127.0.0.1
PHP の mail() が使用するのと同じ/類似のメカニズムを使用することになっています。
存在しないのでできません。それが要件である場合は、変更してください。
残念ながら、私はそれを行う方法がわかりません。
JavaMail API を参照してください。