java mail例子(1)

本文提供了一个使用JavaMail API发送电子邮件的示例代码。该示例详细展示了如何配置SMTP服务器并通过Sina邮箱服务发送邮件。文章介绍了所需jar包、配置属性及发送过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本例子是使用javamail发送电子右键的简单例子,其中需要注意的地方有:
1、关于smtp服务器,也就是MailSender.java中的host。
现在基本全部的smtp服务器都需要认证,所以,若是本机没有绑定一个域名的话,邮件很难发送出去。
我在测试的时候用的是"花生壳"的服务,这样可以将本机ip邦定一个由他们提供的免费域名。
2、测试时候host用的是smtp.sina.com.cn所以用户名和密码应该是mail.sina.com.cn上面的,***@sina.com的形式的邮箱的帐号密码才能发送,或者是更改smtp服务器地址。
3、用到的类库:javamail v1_4_1中的mail.jar

//本类完成主要的业务

package org.mingyuan.mail;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MailSender {
   
    private String host="smtp.sina.com.cn";
    private String userName;
    private String password;
    private String receiver;
    private String content;
    private String subject;

    /**
    *
    * @param n
    *            userName
    * @param p
    *            password
    * @param r
    *            receiver
    * @param c
    *            content
    * @param sbj
    *            subject
    */
    public MailSender(String n, String p, String r, String c, String sbj) {
        userName = n;
        password = p;
        receiver = r;
        content = c;
        subject = sbj;
    }

    public boolean send(){
        try{
        Properties props = System.getProperties();

        // Setup mail server
        props.put("mail.smtp.host", host);

        // Get session
        Session session = Session.getDefaultInstance(props, null);
        session.setDebug(true);
        // Define message
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress("mingyuanonline@gmail.com"));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(
                receiver));
        message.setSubject(subject);
        message.setText(content);
        message.saveChanges();
        Transport transport = session.getTransport("smtp");
        transport.connect(host, userName, password);
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
        }catch(MessagingException e){
            return false;
        }
        return true;
    }

    public void test() {
        System.out.println("userName:" + userName + " password:" + password
                + " receiver:" + receiver + " subject:" + subject + " content"
                + content);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值