2

アプリケーションからメールを送信できません。アプリケーションで単純な SMTP サーバーを使用できません。また、JAVA でメールを送信する方法がわかりません。PHP の mail() が使用するのと同じ/類似のメカニズムを使用することになっています。残念ながら、私はそれを行う方法がわかりません。

4

4 に答える 4

5

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();
        }
    }
}
于 2013-02-10T23:24:36.077 に答える
2

JavaMail APIを確認する必要があります。また、PHP の mail() が必要とするため、その電子メールを送信するには SMTP サーバーが必要です。

SMTP サーバーが必要な場合は、お使いのオペレーティング システムの SMTP サーバーを Google で検索することをお勧めします。または、ISP またはサーバー ホストが提供する SMTP サーバーを使用することもできます。

于 2013-02-10T23:19:02.580 に答える
0

JavaMailapiはApacheJamesなどのローカルSMTPサーバーで使用できるため、 Jamesサーバーをインストールして実行した後、SMTPサーバーのIPを次のように設定できます。127.0.0.1

于 2013-02-10T23:51:51.770 に答える
0

PHP の mail() が使用するのと同じ/類似のメカニズムを使用することになっています。

存在しないのでできません。それが要件である場合は、変更してください。

残念ながら、私はそれを行う方法がわかりません。

JavaMail API を参照してください。

于 2013-02-11T00:51:22.877 に答える