2016-04-04 1 views
1

私は、javax mail APIの新しいユーザーです。 (のjavax.mail。*)Javax Mail APIで任意の送信者アドレスを使用できるのは一般的ですか?

バニラ例を試すことで、私が企業のメールサーバー上でこれを試してみたし、それが動作私がsetFrom()

を使用してアドレスを設定することで、認証なしで任意のアドレスからメールを送信することができそうです警告なしに。

これは私の常識と矛盾しています。私は、電子メールアカウントにログインしてそこから電子メールを送信する必要があると矛盾しています。

これはjavaxメールAPIと電子メールサーバーの一般的な動作ですか?

これは私が使用したコードです。

import java.io.UnsupportedEncodingException; 

    import javax.mail.MessagingException; 
    import javax.mail.internet.MimeMessage; 

    import org.junit.Before; 
    import org.junit.Test; 
    import org.springframework.mail.javamail.JavaMailSenderImpl; 
    import org.springframework.mail.javamail.MimeMessageHelper; 

    public class EmailTest { 

     JavaMailSenderImpl mailSender; 
     MimeMessage message; 
     MimeMessageHelper helper; 

     @Before 
     public void setUp() { 

      mailSender = new JavaMailSenderImpl(); 

      mailSender.setHost("smtp.company.com"); //<some smtp host> 

      message = mailSender.createMimeMessage(); 
      helper = new MimeMessageHelper(message); 


     } 

     @Test 
     public void sendEmail() { 

      try { 

       helper.setFrom("[email protected]", "john doe"); 
       helper.setTo("[email protected]"); 
       helper.setSubject("test subject"); 
       helper.setText("Test Text"); 

       mailSender.send(message); 
      } catch (MessagingException e) { 

       e.printStackTrace(); 
      } catch (UnsupportedEncodingException e) { 

       e.printStackTrace(); 
      } 
     } 


    } 
+1

はい、これはSMTPプロトコルの仕組みです。送信者アドレスを認証する必要は全くありません。 – RealSkeptic

+1

実際には、セキュリティ保護されていないSMTPサーバーでは、誰でも誰でもいると主張することができます。私は、電子メールを偽装して高校の友人にいたずらをするという思い出が好きです。しかし、1990年代になってしまった今、SMTPサーバーを使って実際に認証を行わなくても、これはおそらく重要なセキュリティホールですが、あなたの懸念事項ではありません。これはSMTPがもともとどのように設計されているからですか? – dcsohl

答えて

3

これはJavaに固有のものではありません。メール内の送信者アドレスは、技術に関係なく、任意に記入できるフィールドです。ただし、多くのメールサーバーは、自分の電子メールを使用せずに送信しようとしている電子メールを拒否します。実際に送信者アドレスを許可する電子メールサーバーには、他の種類の認証が必要です。

編集:文字と比較してください。古い学校の手紙(別名カタツムリの郵便物)を送るときは、送り主として任意の住所を入れることができます。郵便局は配達料を支払っている間は気にしません。まったく同じように、メールサーバーはしばしば気にしません。

編集2:誰かを偽装しようとすると、法的問題が発生する可能性があります。 Donald Duckを送信者にすると、誰も気にしません。ドナルド・トランプを送付者として入れると、想像以上にお金を払って訴えられることがあります。これはカタツムリの郵便と電子メールに当てはまります。

関連する問題