m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

JavaEE7でJavaMailを試す

環境

NetBeans8.1
Glassfish4.1

問題点

Glassfish4.1.1ではなぜかglassfishのメールセッションの設定ができない

参考

www.youtube.com
※英語でも動画で作業をなぞるとできるもんです

画面設定

index.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:form prependId="false">
            <h:commandButton value="送信" action="#{mailBean.send()}"></h:commandButton>
        </h:form>
    </h:body>
</html>
MailBean.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package bean;

import javax.annotation.Resource;
import javax.inject.Named;
import javax.enterprise.context.RequestScoped;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
 *
 */
@Named(value = "mailBean")
@RequestScoped
public class MailBean {

    @Resource(name="mail/gmail")
    private Session session;
    
    public void send(){
        Message msg = new MimeMessage(session);
        
        try{
            msg.setSubject("aaaaa");
            msg.setText("aaaaaaa");
            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("送信先のメールアドレス@gmail.com"));
            
            Transport.send(msg);
            
        } catch(MessagingException e){
            e.printStackTrace();
        }
    }
     
}

glashfish設定

f:id:m_shige1979:20160529220519p:plain
f:id:m_shige1979:20160529220529p:plain
f:id:m_shige1979:20160529220538p:plain

ここまで

所感

Javaの場合は最新の技術というより保守に向けてのやり方の方が安定しているので
あまり最新のことに凝った情報が見つけきれない感じがする。
あったと思ってもちょっとコアすぎでで???って状態があるので
自分がつまづいている部分が本来ありえない場所だからかな…