发送邮件以及获取发件方ip的方法
来源:互联网 发布:光启科学 知乎 编辑:程序博客网 时间:2024/05/06 15:42
需导入mail.jar包,删除j2ee自带的mail文件
package ndy.quantgroup.util;import java.net.InetAddress;import java.net.NetworkInterface;import java.util.Enumeration;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;/** * @author nidayu * @date 2014-12-16 * @Description xxx * @version V1.0 */public class SendEmailUtil {/** * xxx * * @author nidayu * @param * @return */public static void send(String emailName, String emailPwd, String[] to, String smtpHost, String title, String content) {try {SmtpAuth sa = new SmtpAuth();sa.getuserinfo(emailName, emailPwd);java.util.Properties props = new java.util.Properties();props.put("mail.smtp.auth", "true");props.put("mail.smtp.host", smtpHost);InternetAddress fromAddress = new InternetAddress(emailName);InternetAddress[] toAddresss = new InternetAddress[to.length];for (int len = 0; len < to.length; len++) {if (to[len] != null && to[len].length() > 1) {toAddresss[len] = new InternetAddress(to[len]);}}int i = 0;while (i < toAddresss.length) {if (toAddresss[i] != null) {Session mailSession = Session.getDefaultInstance(props, sa);MimeMessage testMessage = new MimeMessage(mailSession);testMessage.setFrom(fromAddress);testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddresss[i]);testMessage.setSentDate(new java.util.Date());testMessage.setSubject(title);testMessage.setText(content + "\r\tip:" + getHostIp());Transport.send(testMessage);System.out.println("A mail have been sent to " + to[i]);}i++;}} catch (Exception e) {System.out.println("邮件发送失败:");e.printStackTrace();}}public static String getHostIp() {String sIP = "";InetAddress ip = null;try {// 如果是Windows操作系统if (isWindowsOS()) {ip = InetAddress.getLocalHost();}// 如果是Linux操作系统else {boolean bFindIP = false;Enumeration<NetworkInterface> netInterfaces = (Enumeration<NetworkInterface>) NetworkInterface.getNetworkInterfaces();while (netInterfaces.hasMoreElements()) {if (bFindIP) {break;}NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();// ----------特定情况,可以考虑用ni.getName判断// 遍历所有ipEnumeration<InetAddress> ips = ni.getInetAddresses();while (ips.hasMoreElements()) {ip = (InetAddress) ips.nextElement();if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() // 127.开头的都是lookback地址&& ip.getHostAddress().indexOf(":") == -1) {bFindIP = true;break;}}}}} catch (Exception e) {}if (null != ip) {sIP = ip.getHostAddress();}return sIP;}public static boolean isWindowsOS() {boolean isWindowsOS = false;String osName = System.getProperty("os.name");if (osName.toLowerCase().indexOf("windows") > -1) {isWindowsOS = true;}return isWindowsOS;}public static class SmtpAuth extends javax.mail.Authenticator {private String user, password;public void getuserinfo(String getuser, String getpassword) {user = getuser;password = getpassword;}protected javax.mail.PasswordAuthentication getPasswordAuthentication() {return new javax.mail.PasswordAuthentication(user, password);}}}
最后测试
public static void main(String[] args) {SendEmailUtil.send("邮箱号@163.com", "邮箱密码", new String[] { "对方邮箱" }, "smtp.163.com", "标题", "文本内容");}
0 0
- 发送邮件以及获取发件方ip的方法
- Flask-Mail邮件的配置以及发送附件的方法
- 发送邮件的方法
- 发送邮件的方法
- 发送邮件的方法
- 邮件的发送和获取
- Linux 设置IP,gate, 以及自动获取IP的方法
- 绑定发送邮件的方法
- C# 发送邮件的方法
- java发送邮件的方法
- linux发送邮件的方法
- IOS邮件发送的方法
- android发送邮件的方法
- 获取外网IP并发送邮件通知
- JAVA发送邮件和获取客户端真实ip地址
- python3 自动获取公网ip并发送邮件通知
- 发送邮件遇到的问题以及解决办法
- Java的邮件发送、接收以及删除
- UNIX环境高级编程-第3章- 文件I/O
- 目录是否可写入
- 学习android 需要了解的知识
- Java 中Iterator 、Vector、ArrayList、List 使用深入剖析
- String与StringBuffer的区别
- 发送邮件以及获取发件方ip的方法
- 第十六周项目2--除所有空格
- 单例模式
- 利用cookies欺騙技術 (入侵論壇)
- andriod开发环境搭建,
- YII多DB
- sqlserver,driver,mysql等的驱动书写
- Unity3D图像后处理特效——Global Fog
- 关于汉诺塔的递归算法