天天看點

通過SMTP SERVER 無需身份驗證發送郵件

建立SMTP伺服器發送匿名郵件

1.       系統:Windows XP/2000

2.       安裝設定服務端

  Windows XP和2000本身就擁有構件SMTP伺服器的功能,隻是一般還沒有安裝。選擇“控制台→添加/删除程式→添加/删除Windows元件”,彈出“Windows元件向導”對話框,在其中輕按兩下“Internet資訊服務(IIS)”項,就會打開詳細選擇項,選中“SMTP Service”,按“确定”,插入Windows XP安裝盤進行安裝(如圖1)。

通過SMTP SERVER 無需身份驗證發送郵件

圖1

  安裝好SMTP伺服器後,選擇“控制台→性能和維護→管理工具→Internet資訊服務”打開Internet資訊服務設定視窗,在視窗左側點選本地計算機名,展開本地計算機目錄,可以看到有兩個分支“Wed站點”和“預設SMTP虛拟伺服器”。在“預設SMTP虛拟伺服器”上點選滑鼠右鍵選擇“屬性”,打開“預設SMTP虛拟伺服器屬性”視窗。

  “正常”頁籤主要設定IP位址,單擊IP位址下拉項選擇“127.0.0.1”,表示指向本地計算機IP位址,其他項使用預設即可。如果你是區域網路接入,擁有固定IP位址,那麼IP位址就應該選擇相應的位址(如圖2)。

通過SMTP SERVER 無需身份驗證發送郵件

圖2

  “通路”頁籤中設定通路權限。單擊“身份驗證”,選擇“匿名通路”,表示任何使用者都可以發送,其他兩項不用選擇;單擊“連接配接控制”中的“連接配接”和“中段限制”中的“中斷”,選中“僅以下清單除外”,表示可以許接入所有使用者的通路。

  “郵件”頁籤中設定郵件傳輸條件及限制,“限制郵件大小為”等四個選項可以使用預設值,無須更改;

  “将未傳遞報告的副本發送到”可将發送不成功的郵件傳回發件人,并且寫明不成功的原因;“死信目錄”設定沒有發送成功的郵件被存放的位置。

  “傳輸”選項中設定郵件傳遞時間,這裡不用修改,使用預設值;“LDAP路由”選項用來指定伺服器使用的目錄伺服器辨別和屬性,這裡也不用啟動它。

  “安全”選項中設定使用發送伺服器的有權使用者,預設使用者是“Administrators”,你可以單擊“添加”添加使用使用者。

  一切設定好後,你就擁護了自己的郵件發送伺服器了!下面我們來看看在Outlook Express和Foxmail中如何設定使用自己的SMTP來發信。

3. 設定用戶端軟體

  打開Outlook Express,選擇“工具→賬号→郵件”,選中帳号點“屬性”,在“伺服器”标簽下的“發送郵件(SMTP)”中輸入“127.0.0.1”,即本機位址(如圖3),“我的伺服器需要身份驗證”不選擇。

  在Foxmail中選擇需要設定本機發信的帳号,然後選擇“帳号→屬性→郵件伺服器”,在“發送郵件伺服器”中輸入“127.0.0.1”(如圖4),“SMTP郵件伺服器需要身份驗證”也不要選擇上。

通過SMTP SERVER 無需身份驗證發送郵件

圖3

通過SMTP SERVER 無需身份驗證發送郵件

圖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 = "[email protected]";

 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("[email protected]","sendpassword"));

   String email = "[email protected]";

   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);

  }

 }

}