通过SMTP SERVER 无需身份验证发送邮件

来源:互联网 发布:防水建材网络推广方案 编辑:程序博客网 时间:2024/05/18 08:36
 

 

建立SMTP服务器发送匿名邮件

 

1.       系统:Windows XP/2000

 

2.       安装设置服务端

 

  Windows XP和2000本身就拥有构件SMTP服务器的功能,只是一般还没有安装。选择“控制面板→添加/删除程序→添加/删除Windows组件”,弹出“Windows组件向导”对话框,在其中双击“Internet信息服务(IIS)”项,就会打开详细选择项,选中“SMTP Service”,按“确定”,插入Windows XP安装盘进行安装(如图1)。

 

1

 

  安装好SMTP服务器后,选择“控制面板→性能和维护→管理工具→Internet信息服务”打开Internet信息服务设置窗口,在窗口左侧点击本地计算机名,展开本地计算机目录,可以看到有两个分支“Wed站点”和“默认SMTP虚拟服务器”。在“默认SMTP虚拟服务器”上点击鼠标右键选择“属性”,打开“默认SMTP虚拟服务器属性”窗口。

 

  “常规”选项卡主要设置IP地址,单击IP地址下拉项选择“127.0.0.1”,表示指向本地计算机IP地址,其他项使用默认即可。如果你是局域网接入,拥有固定IP地址,那么IP地址就应该选择相应的地址(如图2)。

图2

 

  “访问”选项卡中设置访问权限。单击“身份验证”,选择“匿名访问”,表示任何用户都可以发送,其他两项不用选择;单击“连接控制”中的“连接”和“中段限制”中的“中断”,选中“仅以下列表除外”,表示可以许接入所有用户的访问。

 

  “邮件”选项卡中设置邮件传输条件及限制,“限制邮件大小为”等四个选项可以使用默认值,无须更改;

 

  “将未传递报告的副本发送到”可将发送不成功的邮件返回发件人,并且写明不成功的原因;“死信目录”设置没有发送成功的邮件被存放的位置。

 

  “传输”选项中设置邮件传递时间,这里不用修改,使用默认值;“LDAP路由”选项用来指定服务器使用的目录服务器标识和属性,这里也不用启动它。

 

  “安全”选项中设置使用发送服务器的有权用户,默认用户是“Administrators”,你可以单击“添加”添加使用用户。

 

  一切设置好后,你就拥护了自己的邮件发送服务器了!下面我们来看看在Outlook Express和Foxmail中如何设置使用自己的SMTP来发信。

 

3. 设置客户端软件

 

  打开Outlook Express,选择“工具→账号→邮件”,选中帐号点“属性”,在“服务器”标签下的“发送邮件(SMTP)”中输入“127.0.0.1”,即本机地址(如图3),“我的服务器需要身份验证”不选择。

 

  在Foxmail中选择需要设置本机发信的帐号,然后选择“帐号→属性→邮件服务器”,在“发送邮件服务器”中输入“127.0.0.1”(如图4),“SMTP邮件服务器需要身份验证”也不要选择上。

图3

 

图4

 

  撰写发送邮件和我们平时操作一样,没有什么区别。写好后点发送,邮件会在瞬间发送完毕。

 

 

      java 代码部分:

     注意:props.put("mail.smtp.auth", "false");

       

package com

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
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 EmailTest {

 private static final String emailSubject = "你的朋友制作了新场景";

 private static final String emailServer = "192.168.0.100";

 private static final String emailFrom = "admin@163.com";
 
 public static void main(String[] args) {
  try {
   Properties props = System.getProperties();
   props.put("mail.smtp.host", emailServer);
   props.put("mail.smtp.auth", "false");
   
   Session session = Session.getInstance(props,
     new MyPasswordAuthenticator("
send@163.com","sendpassword"));

   String email = "receive@qq.com";
   InternetAddress email_addresses[] = InternetAddress
     .parse(email, false);
   
   // Create and Initialize message
   MimeMessage message = new MimeMessage(session);
   message.setFrom(new InternetAddress(emailFrom));
   message.setRecipients(Message.RecipientType.TO,
     email_addresses);
   message.setSubject(emailSubject, "UTF-8");
   System.out.println("Sending email to .. " + email);
   // message.setContent(strMessageText, "text/plain");
   message.setContent("真的猛士敢于直面惨淡的人生",
     "text/html;charset=UTF-8");
   
   // send message
   Transport.send(message);
  } catch (AddressException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (MessagingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 
 static class MyPasswordAuthenticator extends Authenticator {
  String user;
  String pw;

  public MyPasswordAuthenticator(String username, String password) {
   super();
   this.user = username;
   this.pw = password;
  }

  public PasswordAuthentication getPasswordAuthentication() {
   return new PasswordAuthentication(user, pw);
  }
 }
}

 

 

 

 

原创粉丝点击