在网上利用JMail发送邮件

利用jMail免费的发送邮件(目前我只知道可以利用GMail服务器),一般的服务器都是要收取费用的,如163,如果有人知道还有其他的方法可以指导一下.
package com.easyjf.core.support;
import java.security.Security;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
//import org.acegisecurity.providers.encoding.Md5PasswordEncoder;
//import com.easyjf.util.MD5;

/**
*
* 使用Gmail发送邮件(邮件内容为一个html页面)
*
* @author yx
*/
public class SendEmail
{
private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
private static final String USERNAME = "singandsuny";// 设定邮箱的用户名
private static final String PASSWORD = "123456";// 设定邮箱的密码
private static  String TO_EMAIL = "";// 设定收件人的信箱
private static  String SUBJECT = "";// 设定邮件标题

private static final String FROM = "sonofsucom";// 设定发件件的人
private static final String SMTP = "smtp.gmail.com";

private static String content = "";
public static String getContent(Map<String,String> map)
{
  content = "<html>" +
  "<head>" +
  "<meta http-equiv='Content-Type' content='text/html; charset=gb2312' />" +
  "<title>好友推荐</title></head>" +
  "<body>" +
  "<p>恭喜你!收到邮件了!</p>" +
  "<p><a href='http://www.eebbo.com' target='_blank'>益勃</a></p>" +
  "</body>" +
  "</html>";
  return content;
}

public static void sender(Map<String,String> map) throws Exception
{
  //设置要发送邮件的相关参数
  SUBJECT = "你的益勃好友"+map.get("friendName")+"给你推荐的商品";
  TO_EMAIL = map.get("toEmail").toString();
  Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
  
  //获取邮件内容
  getContent(map);
  
  // Get a Properties object
  Properties props = System.getProperties();
  props.setProperty("mail.smtp.host", SMTP);
  props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
  props.setProperty("mail.smtp.socketFactory.fallback", "false");
  props.setProperty("mail.smtp.port", "465");
  props.setProperty("mail.smtp.socketFactory.port", "465");
  props.put("mail.smtp.auth", "true");
  //认证
  Session session = Session.getDefaultInstance(props,
    new Authenticator() {
     protected PasswordAuthentication getPasswordAuthentication() {
      return new PasswordAuthentication(USERNAME, PASSWORD);
     }
    });
  
  //是否以调试模式运行
  session.setDebug(true);
  
  Message msg = new MimeMessage(session);
  InternetAddress[] address = null;
  
  // 设定发邮件的人
  msg.setFrom(new InternetAddress(FROM));
  // 设定收信人的信箱
  address = InternetAddress.parse(TO_EMAIL, false);
  msg.setRecipients(Message.RecipientType.TO, address);
  // 设定信中的主题
  msg.setSubject(SUBJECT);
  // 设定送信的时间
  //msg.setSentDate(new Date());
  Multipart mp = new MimeMultipart();
  MimeBodyPart mbp = new MimeBodyPart();
  // 设定邮件内容的类型为 text/plain 或 text/html
  mbp.setContent(content, "text/html;charset=GB2312");
  mp.addBodyPart(mbp);
  msg.setContent(mp);
  //发送
  Transport transport = session.getTransport("smtp");
  transport.connect(SMTP, USERNAME, PASSWORD);
  transport.sendMessage(msg, msg.getAllRecipients());
  transport.close();
}

//  测试
public static void main(String[] args) throws Exception {
  //MD5加密
//  Md5PasswordEncoder pwd = new Md5PasswordEncoder();
//  System.out.println(pwd.encodePassword("123456", "我")+"ooo");
//  pwd.isPasswordValid(arg0, arg1, arg2)
//  MD5 d = new MD5();
//  System.out.println(d.getMD5ofStr("827CCB0EEA8A706C4C34A16891F84E7B"));
//  System.out.println(MD5.encode("12345")+"+++++");
//  System.out.println(MD5.encode("827CCB0EEA8A706C4C34A16891F84E7B")+"--------");
  Map<String, String> map = new HashMap<String,String>();
  map.put("friendName", "yangxun");
  map.put("toEmail", " singandsuny@163.com ");
  sender(map);
  System.out.println("邮件已经发送成功!");
}
}
资源下载链接为: https://pan.quark.cn/s/5c50e6120579 在Android移动应用开发中,定位功能扮演着极为关键的角色,尤其是在提供导航、本地搜索等服务时,它能够帮助应用获取用户的位置信息。以“baiduGPS.rar”为例,这是一个基于百度地图API实现定位功能的示例项目,旨在展示如何在Android应用中集成百度地图的GPS定位服务。以下是对该技术的详细阐述。 百度地图API简介 百度地图API是由百度提供的一系列开放接口,开发者可以利用这些接口将百度地图的功能集成到自己的应用中,涵盖地图展示、定位、路径规划等多个方面。借助它,开发者能够开发出满足不同业务需求的定制化地图应用。 Android定位方式 Android系统支持多种定位方式,包括GPS(全球定位系统)和网络定位(通过Wi-Fi及移动网络)。开发者可以根据应用的具体需求选择合适的定位方法。在本示例中,主要采用GPS实现高精度定位。 权限声明 在Android应用中使用定位功能前,必须在Manifest.xml文件中声明相关权限。例如,添加<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />,以获取用户的精确位置信息。 百度地图SDK初始化 集成百度地图API时,需要在应用启动时初始化地图SDK。通常在Application类或Activity的onCreate()方法中调用BMapManager.init(),并设置回调监听器以处理初始化结果。 MapView的创建 在布局文件中添加MapView组件,它是地图显示的基础。通过设置其属性(如mapType、zoomLevel等),可以控制地图的显示效果。 定位服务的管理 使用百度地图API的LocationClient类来管理定位服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值