プログラムのダウンロード
ダウンロード開始
ソースコード
●FreeSendMailer(FreeSendMailer.java)
package jp.tuyano;
import java.awt.*;
import java.awt.event.*;
import java.io.PrintStream;
import javax.swing.*;
import sun.net.smtp.SmtpClient;
public class FreeSendMailer extends JFrame
implements ActionListener {
private static final long serialVersionUID = 1L;
private JTextArea message;
private JTextField server;
private JTextField to;
private JTextField from;
private JTextField title;
private JButton btn;
private String servername = "localhost"; // サーバ指定
private String fromname = "tuyano@mac.com"; // 送信元指定
private String toname = "tuyano@mac.com"; // 送信先指定
public FreeSendMailer() {
this.setSize(300, 400);
this.setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel();
p.setLayout(new GridLayout(4, 1));
server = new JTextField(servername);
from = new JTextField(fromname);
to = new JTextField(toname);
title = new JTextField("メールタイトル");
JPanel p1 = new JPanel();
JLabel l1 = new JLabel("SERVER:");
l1.setPreferredSize(new Dimension(80,20));
p1.add(l1);
p1.add(server);
JPanel p2 = new JPanel();
JLabel l2 = new JLabel("FROM:");
l2.setPreferredSize(new Dimension(80,20));
p2.add(l2);
p2.add(from);
JPanel p3 = new JPanel();
JLabel l3 = new JLabel("TO:");
l3.setPreferredSize(new Dimension(80,20));
p3.add(l3);
p3.add(to);
JPanel p4 = new JPanel();
JLabel l4 = new JLabel("TITLE:");
l4.setPreferredSize(new Dimension(80,20));
p4.add(l4);
p4.add(title);
server.setPreferredSize(new Dimension(200,20));
from.setPreferredSize(new Dimension(200,20));
to.setPreferredSize(new Dimension(200,20));
title.setPreferredSize(new Dimension(200,20));
p.add(p1);
p.add(p2);
p.add(p3);
p.add(p4);
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(p, BorderLayout.NORTH);
message = new JTextArea();
message.setLineWrap(true);
JScrollPane scroll = new JScrollPane();
scroll.setVerticalScrollBarPolicy
(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scroll.getViewport().add(message);
getContentPane().add(scroll, BorderLayout.CENTER);
btn = new JButton("送信");
btn.addActionListener(this);
getContentPane().add(btn, BorderLayout.SOUTH);
}
public static void main(String[] args) {
new FreeSendMailer().setVisible(true);
}
public void actionPerformed(ActionEvent ev) {
String to1 = to.getText();
String from1 = from.getText();
String server1 = server.getText();
String title1 = title.getText();
String msg = message.getText();
try {
title1 = new String(title1.getBytes("ISO2022JP"));
msg = new String(msg.getBytes("ISO2022JP"));
SmtpClient client = new SmtpClient(server1);
client.from(from1);
client.to(to1);
PrintStream stream = client.startMessage();
stream.println("To:" + to1);
stream.println("Subject:" + title1);
stream.println("Content-Type: text/plain; charset=iso-2022jp");
stream.println(msg);
stream.flush();
stream.close();
JOptionPane.showMessageDialog(this, "送信しました。");
} catch(Exception ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "問題が発生しました。\n"
+ ex.toString());
}
}
}
バックナンバー
第1回「画面キャプチャーを作ろう」
第2回「画面キャプチャーを作ろう(2)」
第3回「Lifeゲームって、知っていますか?」
第4回「ディスアセンブラを作る」
第5回「画面キャプチャーを作ろう(3)」
第6回「画面キャプチャーを作ろう(4)」
第7回「標準出力コンポーネント作ろう」
第8回「2次元ゲーム盤を使ったパズルゲーム」