package com.email.send;
import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;
/**//**
* @author Peter
*/
public class SenderWithSMTPVer
{
String host="";
String user="";
String password="";
public void setHost(String host)
{
this.host=host;
}
public void setAccount(String user,String password)
{
this.user=user;
this.password=password;
}
public void send(String from,String to,String subject,String content)
{
Properties props = new Properties();
props.put("mail.smtp.host", host);//指定SMTP服务器
props.put("mail.smtp.auth", "true");//指定是否需要SMTP验证
try
{
Session mailSession = Session.getDefaultInstance(props);
mailSession.setDebug(true);//是否在控制台显示debug信息
Message message=new MimeMessage(mailSession);
message.setFrom(new InternetAddress(from));//发件人
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));//收件人
message.setSubject(subject);//邮件主题
message.setText(content);//邮件内容
message.saveChanges();
Transport transport = mailSession.getTransport("smtp");
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}catch(Exception e)
{
System.out.println(e);
}
}
public static void main(String args[])
{
SenderWithSMTPVer sm=new SenderWithSMTPVer();
sm.setHost("smtp.sina.com");//指定要使用的邮件服务器
sm.setAccount("","");//指定帐号和密码
/**//*
* @param String 发件人的地址
* @param String 收件人地址
* @param String 邮件标题
* @param String 邮件正文
*/
sm.send("","","测试发送","新邮件");
}
}
package com.email.send;
import java.net.*;
import java.io.*;
public class Service {
public static void main(String args[])
{
String ip1, ip2;
try
{
InetAddress in = InetAddress.getLocalHost();
InetAddress[] all = InetAddress.getAllByName(in.getHostName());
ip2 = ReadFile();
//通过本机主机名,遍历多个ip
for (int i = 0; i < all.length; i++)
{
String tmp=null;
tmp=ip1=all[i].getHostAddress().toString();
System.out.println("IP = " +tmp);//输出计算机所有的ip地址
if (isInnerIP(ipToLong(tmp)) == -1)//检查是不是外网ip,如果是就保存文件
{
if(!ip2.equals(ip1)){
//发送邮件
SenderWithSMTPVer sm=new SenderWithSMTPVer();
sm.setHost("smtp.sina.com");//指定要使用的邮件服务器
sm.setAccount("taingong2007","taingong2007");//指定帐号和密码
/* @param String 发件人的地址
* @param String 收件人地址
* @param String 邮件标题
* @param String 邮件正文
*/
sm.send("taingong2007@sina.com","taingong2008@sina.com",ip1,"");
}
// 将新的ip写入.txt文件中
WriteFile(ip1);//将ip地址写入文件
System.out.println("IP保存在同目录IP.txt文件中");
System.out.println("同目录IP.txt文件中的IP是:" + ReadFile());
}
}
}
catch (UnknownHostException e)
{
System.out.println(e.getMessage());
}
}
public static int isInnerIP(long a_ip)//检查ip地址是否是内网ip
{
int bValid = -1;
if ((a_ip >> 24 == 0xa) || (a_ip >> 16 == 0xc0a8) || (a_ip >> 22 == 0x2b0))
{
bValid = 0;
}
return bValid;
}
//将127.0.0.1 形式的IP地址转换成10进制整数,这里没有进行任何错误处理
public static long ipToLong(String strIP)
{
long[] ip = new long[4];
//先找到IP地址字符串中.的位置
int position1 = strIP.indexOf(".");
int position2 = strIP.indexOf(".", position1 + 1);
int position3 = strIP.indexOf(".", position2 + 1);
//将每个.之间的字符串转换成整型
ip[0] = Long.parseLong(strIP.substring(0, position1));
ip[1] = Long.parseLong(strIP.substring(position1 + 1, position2));
ip[2] = Long.parseLong(strIP.substring(position2 + 1, position3));
ip[3] = Long.parseLong(strIP.substring(position3 + 1));
return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];
}
//写文件
public static void WriteFile(String str)
{
String filename = "IP.txt";
File write = new File(filename);
BufferedWriter bw;
if (write.exists())
{
write.delete();
}
else
//如果文件不存,则建立
{
try
{
write.createNewFile();
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
try
{
bw = new BufferedWriter(new FileWriter(write));
bw.write(str);
bw.close();
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
//读文件
public static String ReadFile()
{
String filename = "IP.txt";
File read = new File(filename);
BufferedReader br;
String temp = null;
if (read.exists())
{
try
{
br = new BufferedReader(new FileReader(read));
temp = br.readLine();
br.close();
System.out.println(temp);
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
else
{temp = "";}
return temp;
}
}
分享到:
相关推荐
使用 JavaMail 代发邮件 使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件...
JavaMail 是一个强大的开源库,专门用于在Java应用程序中发送和接收电子邮件。它提供了丰富的API,使得开发者可以方便地处理SMTP、POP3和IMAP等邮件协议。在JavaMail中,我们可以实现各种复杂的邮件功能,如添加附件...
压缩包中的文件名“JavaMail发邮件原代码例子”可能包含的就是一个完整的Java类,里面包含了上述的代码实现,你可以直接运行这个示例来发送邮件。在实际应用中,可能还需要处理附件、HTML格式的邮件内容、多收件人等...
用JAVAMAIL发邮件(含附件),. TXT用JAVAMAIL发邮件(含附件),.TXT
总的来说,"Apusic上用JavaMail发邮件"涉及到的主要知识点有:Apusic应用服务器的使用、JavaMail API的导入和配置、SMTP协议的理解、JavaMail API的基本操作如创建`Session`、`Message`和`Transport`对象,以及处理...
标题提到的"用javamail发邮件必须的三个jar包.7z"包含了三个核心的JAR文件:mail.jar、activation.jar和additionnal.jar,它们对于JavaMail的邮件发送功能至关重要。 1. **mail.jar**: 这是JavaMail的主要库,包含...
然后,你可以创建一个 `MimeMessage` 对象,用于构建邮件的内容,包括发件人、收件人、主题和正文。`MimeMessage` 提供了设置各种邮件头信息的方法,如 `setFrom()`, `setRecipients()`, `setSubject()` 和 `setText...
在阅读博文《『JAVA基础』使用JavaMail发邮件的实例》后,你可以进一步了解如何处理更复杂的邮件场景,如HTML格式的邮件、多语言支持以及错误处理等。这个实例不仅提供了源码,还可能包含了一些实用工具,帮助你更好...
通过`MimeMessage`的`setFrom`, `setRecipients`, `setSubject`, `setContent`等方法,你可以设置发件人、收件人、主题和邮件内容。 7. **发送邮件**: 最后,使用`Transport.send`方法将构造好的邮件发送出去。`...
JavaMail 是一个强大的Java库,它允许开发人员在Java应用程序中实现邮件的发送、接收以及管理功能。这个项目不仅提供了SMTP、POP3和IMAP协议的支持,还包含了丰富的API,可以方便地处理邮件的MIME编码、附件、HTML...
JavaMail是Java编程语言中用于发送和接收电子邮件的标准API,它提供了一套全面的接口,开发者可以使用这些接口来实现SMTP、POP3、IMAP等邮件协议。在本篇文章中,我们将深入探讨如何利用JavaMail API发送邮件,以及...
### JavaMail 发送带附件的电子邮件 在Java开发过程中,经常需要通过程序自动发送电子邮件,尤其是在需要进行用户通知、密码重置或者系统日志报告等场景。JavaMail API提供了非常强大的功能来支持这些需求,包括...
3. 创建Message:Message对象是邮件的实体,包含邮件的所有信息,如发件人、收件人、主题和正文。 ```java Message message = new MimeMessage(session); message.setFrom(new InternetAddress("your-email@example....
3. 构造邮件消息:使用`Message`类创建一个邮件对象,并设置发件人、收件人、主题和正文。 ```java Message message = new MimeMessage(session); message.setFrom(new InternetAddress("your-email@example.com"))...
3. **构建Message**:创建一个Message对象,设置发件人、收件人、主题和邮件内容。可以选择不同的Content-Type,如纯文本或HTML。 ```java Message message = new MimeMessage(session); message.setFrom(new ...
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...
5. **构建邮件信息**:创建一个`MimeMessage`对象,并设置邮件的各个部分,如发件人、收件人、主题和内容等。 ```java MimeMessage newMessage = new MimeMessage(sendMailSession); newMessage.setFrom(new ...
2. **创建Message**:使用 `session` 创建 `Message` 对象,并设置发件人、收件人、主题和邮件内容。 ```java Message message = new MimeMessage(session); message.setFrom(new InternetAddress("from@example....
### JavaMail 发送邮件知识点详解 #### 一、JavaMail 概述 JavaMail 是一个构建在 Java 平台上的电子邮件处理工具包,它提供了一系列的 API 来发送、接收和管理电子邮件。JavaMail 主要依赖于 JavaBeans Activation...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个库提供了一组API,使得开发者能够轻松地处理复杂的邮件操作,比如发送文本、图片、HTML内容以及附件。在本文中,我们将深入探讨如何使用...