導航:首頁 > 編程系統 > linuxsendmail附件

linuxsendmail附件

發布時間:2023-09-09 08:25:12

linux sendmail 用命令給添加附件

如果你的mail 命令支持,那麼應該是在 mail 命令中加上 -a /path/to/file 來添加附件。比如

mail -s subject -a /etc/qq/1.txt [email protected]

② linux下的sendmail如何配置

sendmail的功能強大,配置起來也十分繁瑣。本例僅介紹如何架設小型的區域網電子郵局。
1、設置sendmail 作為守衛進程(daemon)啟動
可以使用以下命令來確認 sendmail 是否已經啟動:ps –A|grep sendmail
如果啟動了 sendmail,那麼這個命令將顯示出它的相關信息。如果沒有啟動,則需要在/etc/rc.d/rc.net 文件中加上如幾行代碼
if [-f /usr/lib/sendmail ];
then(cd /usr/spool/mqueue;rm –f if *)
/usr/lib/sendmail-bd-qlh;echo –n 『sendmail』>/dev/console
fi
2、設置sendmail.cf
sendmail.cf是sendmail的配置文件。在安裝了 Linux 系統之後,它將自動生成一個適合本系統使用的 sendmail.cf 文件,位於/etc/sendmail.cf
3、開啟SMTP、POP 埠
在默認情況下,SMTP 埠是打開的,而 POP埠是關閉的,我們必須將它打開:
1)用 root(超級許可權)登錄到伺服器上;
2)編輯文件/etc/inetd.conf;
3)找到描述 POP 埠的語句:#pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop3d
4)將 POP3的描述語句那一行的注釋號「#」去掉。
5)如果沒有找到,就手工補上這一行;(另外,我們還可以驗證一下是否存在 SMTP埠的描述語句) ;
6)存檔後退出。
7)運行 inetd 命令,使得設置生效。
8)用以下命令驗證,看 POP3 埠是否打開(生效):netstat –a |grep pop
如果打開的話,可以看到以下信息:tcp 0 0 *:pop3 *:* LISTEN
4、為新用戶開E-Mail 帳號
在 Linux 中開設 E-Mail 帳號十分簡單,只要在 Linux 系統中新增一個用戶即可。該用戶帳號和密碼就是E-Mail 的帳號和密碼。如:為新用戶 guest 開一個E-Mail帳號,用以下命令即可:
adser guest passwd guest
這樣,該新用戶的 E-Mail 地址就是:[email protected] ;密碼為:guest
5、為E-Mail 帳號設置別名
如果某個用戶想使用多個 E-Mail 地址,可通過設置別名的方法來實現。比:用戶「杜
方冬」想同時擁有 E-Mail 地址:[email protected] ;[email protected] ;[email protected]
就可通過以下步驟來實現這樣的別名設置:
1)以 root 登錄伺服器;
2)新增一個賬號 dfd;
3)編輯文件/etc/aliases,加上兩行:
fd:dfd
fd2000:dfd
4)存檔退出;
5)執行命令: newaliases
這樣,用戶杜方冬就擁有三個郵件地址,杜方冬只需使用一個E-Mail 帳號:[email protected]就可以接收所有寄給以上三個E-Mail 郵件地址的電子郵件。
6、郵箱空間的限定
如果你想控制用戶郵箱空間的大小,可以對它進行限定。實現方法是利用磁碟限額功能來實現的。電子郵件的暫存空間是在/var/spool/mail 目錄下,只要通過磁碟限額設定每一個用戶在這個目錄下能使用的最大空間就可以了。

③ Linux Sendmail服務 怎麼限制郵件附件大小不能超過10M

在配置文件裡面改

④ 如何Linux下安裝sendmail

很簡單,只有你有yum源,就可以用yum來安裝。具體命令如下:版
yum install -y sendmail sendmail-cf

安裝完成後,用rpm查詢一權下。查詢一下:
rpm -qa |grep sendmail

⑤ linux sendmail怎麼限制用戶郵箱的和附件大小。

修改sendmail的主來要配置文件源
簡單點就是vi /etc/mail/sendmail.cf 文件
找到define ('UUCP_MAILER_MAX','2000000')dnl
修改為你想要的大小,默認的是2000000B即20M,假如想修改為50M,改成51200000即可。

⑥ sendmail 在linux 中如何啟動

分類: 電腦/網路 >> 操作系旁散統/系統故障
解析:

Sendmail的配置十分復雜。它的配置文件是sendmail.cf,位於/etc/mail目錄下。由於sendmail.cf的語法深奧難懂,很少有人會直接去修改該文件來對Sendmail伺服器進行配置。我們一般通過m4宏處理程序來生成所需的sendmail.cf文件。創建的過程中還需要一個模板文件,系統默認在/etc/mail目錄下有一個sendmail.mc模板文件。

我們可以根據簡單、直觀的sendmail.mc模板來生成sendmail.cf文件,而無需直接編輯sendmail.cf文件。可以直接通過修改sendmail.mc模板來達到定製sendmail.cf文件的目的。這里介紹創建sendmail.cf文件的步驟:

(1)備份原亮物有sendmail.cf文件

在終端敬啟液命令窗口運行以下命令:

cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK

(2)生成sendmail.cf文件

根據sendmail.mc模板文件產生sendmail.cf配置文件,並導出到/etc/mail/目錄下:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

(3)重啟sendmail服務

[root@ahpeng root] /etc/rc.d/init.d/sendmail restart

很顯然,用m4宏編譯工具創建sendmail.cf文件比較方便,而且不容易出錯,更可以避免某些帶有安全漏洞或者過時的宏所造成的破壞。一個sendmail.mc模板的大致內容如下:

divert(-1)dnl

......

include('/usr/share/sendmail-cf/m4/cf.m4')dnl

VERSIONID('setup for Red Hat Linux')dnl

OSTYPE('linux')dnl

......

dnl #

dnl define('SMART_HOST',' *** tp.your.provider')

dnl #

define('confDEF_USER_ID',''8:12'')dnl

define('confTRUSTED_USER', ' *** msp')dnl

dnl define(′confAUTO_REBUILD′)dnl

......

這里介紹sendmail.mc模板的語法組成:

dnl:用來注釋各項,同時dnl命令還用來標識一個命令的結束。

divert(-1):位於mc模板文件的頂部,目的是讓m4程序輸出時更加精簡一些。

OSTYPE ('OperationSystemType'):定義使用的操作系統類型,顯然這里應該用linux代替OperationSystemType,注意要用一個反引號和一個正引號把對應的操作系統類型括起來。

define:定義一些全局設置,對於Linux系統,設置了OSTYPE之後,可以定義下面的一些全局參數,如果不定義,就使用默認值。這里舉兩個簡單例子:define('ALIAS_FILE','/etc/aliases')

定義別名文件(alia file)的保存路徑,默認是/etc/aliases

define('STATUS_FILE', '/etc/mail/statistics')

sendmail的狀態信息文件。

以上只是sendmai.mc的一些簡單的語法解釋,更多的參數含義及其配置信息可以參見sendmail/m4/eaking_config。

為新用戶開電子郵件賬號

在Linux里為新用戶開設電子郵件賬戶比較簡單,只需在Linux系統里新增一個用戶即可。單擊"主菜單→系統設置→用戶和組群"菜單項,打開"Red Hat用戶管理器"對話框,單擊"添加用戶"按鈕,在出現的"創建新用戶"對話框里指定用戶名、登錄口令即可,如圖3所示。

假設我們添加了一個用戶Peter(密碼為peter),這樣該用戶就有了一個郵件地址Peter@YourDomain(此處的YourDomain用你自己域名代替)。

以上過程也可以在終端命令窗口運行以下命令來實現:

[root@ahpeng root]#adser peter -p peter

為電子郵件賬戶設置別名

有一些用戶想使用多個電子郵件地址,是不是需要創建多個郵件賬號呢?我們可以使用別名(alias)來解決這個問題。

比如說,用戶peter想擁有以下3個電子郵件地址:

peter@YourDomain、dearpeter@ YourDomain、truepeter@ YourDomain。

我們可以通過以下步驟來實現這樣的別名設置:

新增一個賬號peter;然後用vi、或者Kate等文本編輯器打開/etc/aliases,在裡面加上兩行:

dearpeter: peter

truepeter: peter

保存該/etc/aliases退出。

不過,就這樣還不能讓Sendmail接受新增的別名,我們必須在終端命令窗口運行newaliases命令,以要求Sendmail重新讀取/etc/aliases文件。如果一切無誤,應該可以看到類似以下的回應消息:

[root@ahpeng root]# newaliases

/etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total

這樣,發給peter的郵件可以使用3個郵件地址,而peter只需要使用一個電子郵件賬號peter@YourDomain就可以接收所有寄給以上3個地址的電子郵件。

指定郵箱容量限制

當一個郵件伺服器為許多人提供郵件服務時,無 *** 的電子郵件將很容易塞滿伺服器的硬碟,造成硬碟負擔。如果不想為用戶提供無限空間的郵件暫存空間,可以使用"郵件限額"來給用戶一個有限的暫存空間。

其實,它是利用磁碟配額功能來實現的。電子郵件的暫存空間是在/var/spool/mail目錄下,只要通過磁碟配額設定每一個用戶在這個目錄下能使用的最大空間即可。

支持POP和IMAP功能

到現在為止,我們已經可以用Outlook Express發送郵件,或者登錄伺服器使用mail、pine命令收取、管理郵件。但是還不能用Outlook Express等客戶端從伺服器下載郵件,這是因為Sendmail並不具備POP3(IMAP)的功能,所以我們必須自己安裝。

(1)POP和IMAP伺服器安裝

安裝Red Hat Linux 9.0時,可以選擇安裝POP和IMAP伺服器,可以在終端命令窗口運行以下命令進行驗證:

[root@ahpeng root]# rpm -qa imap

imap-2001a-18

如果沒有安裝,可以將第2張安裝光碟放進光碟機,然後在終端命令窗口運行以下命令即可開始安裝:

[root@ahpeng root]#cd /mnt/cdrom/RedHat/RPMS

[root@ahpeng root]#rpm -ivh imap-2001a-18.i386.rpm

由於Red Hat Linux 9.0已經將POP和IMAP打包成一個單獨的套件,安裝好imap-2001a-18.i386.rpm,就會同時安裝這兩個伺服器

(2)啟動POP和IMAP服務

要成功啟動POP和IMAP伺服器,首先要確定這些服務存在於/etc/services文件,確保以下的服務前面沒有加上#注釋(如果有,必須去除注釋)。

imap 143/tcp imap2 # Interim Mail Access Proto v2

imap 143/udp imap2

pop2 109/tcp pop-2 postoffice # POP version 2

pop2 109/udp pop-2

pop3 110/tcp pop-3 # POP version 3

pop3 110/udp pop-3

修改好/etc/services文件,接下來就要對相應服務配置文件進行定製:

啟動POP3服務:必須修改/etc/xid.d/ipop3文件,將其中的"disable=yes"改為"disable=no",保存該文件。最後必須重新啟動xid程序來讀取新的配置文件,使得設定內容生效:

[root@ahpeng root]#/etc/rc.d/init.d/xid reload

啟動IMAP服務:必須修改/etc/xid.d/imap文件,將其中的"disable = yes"改為"disable =no",保存該文件。最後必須重新啟動xid程序來讀取新的配置文件,使得設定內容生效:

[root@ahpeng root]#/etc/rc.d/init.d/xid reload

設置好以後,就可以在Outlook Express裡面設置好郵件賬號,以後就可以直接利用Sendmail伺服器進行收發郵件了,由於郵件伺服器就在本地區域網,所以速度很快。

⑦ 如何在Linux下安裝Sendmail伺服器軟體的方法

Red Hat Linux9.0操作系統 Sendmail郵件伺服器
一.安裝Sendmail
完全安裝Red Hat Linux 9.0時,Sendmail就會自動內置,版本號為8.12.8-4。如果你不確定Linux是否已經安裝有sendmail,可以輸入以下命令查看:
[root@ahpeng root] rpm–qagrep sendmail
如果確定沒有安裝,請在圖形界面下依次選擇單擊「主菜單-系統設置-添加刪除應用程序」,然後在打開的「軟體包管理」窗口裡選中「郵件伺服器」選項,點「更新」後按照提示安裝即可。
另一種辦法是:直接插入Linux第1張安裝光碟,選擇/RedHat/RPMS目錄下的sendmail-8.12.8-4.i386.rpm安裝包,之後運行[root@ahpeng RPMS] # rpm -ivh sendmail-8.12.8-4.i386.rpm即可開始安裝,再用此方法在第3張安裝光碟的同目錄下依次安裝sendmail-cf.8.12.8-4.i386.rpm、sendmail-doc. 8.12.8-4.i386.rpm。
二.啟動Sendmail服務系統
筆者建議使用帶參數的Sendmail命令控制郵件伺服器的運行:
[root@ahpeng root]#sendmail -bd –q12h
-b:設定Sendmail服務運行於後台。
-d:指定Sendmail以Daemon(守護進程)方式運行。
-q:設定當Sendmail無法成功發送郵件時,就將郵件保存在隊列里,並指定保存時間。上面的12h表示保留12小時。
此外,要檢測Sendmail伺服器是否正常運行,可以使用命令行:
[root@ahpeng root]# /etc/rc.d/init.d/sendmail status。
三.配置Sendmail
sendmail.cf的配置語法比較難懂,一般資料上都是採用m4宏處理程序來生成所需的sendmail.cf文件(使用m4編譯工具一般不容易出錯,還可避免某些帶有安全漏洞的宏對伺服器造成的破壞)。其配置文件位於/etc/mail/sendmail.cf,在創建的過程中還需要一個模板文件,Linux自帶有一個模板文件,位於/etc/mail/sendmail.mc。故可以直接通過修改sendmail.mc模板來達到定製sendmail.cf文件的目的,而不必去死啃哪些難理解的配置命令。配置步驟為:
第一步:用模板文件sendmail.mc生成sendmail.cf配置文件,並導出到/etc/mail/目錄下,使用命令行:m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf
第二步:再用[root@ahpeng root] /etc/rc.d/init.d/sendmail restart命令行重啟sendmail。
至此,郵件服務系統配置完成,已經正常工作。接下來就是創建具體的帳戶了。

⑧ 如何在Linux下安裝Sendmail伺服器軟體的方法

RedHatLinux9.0操作系統Sendmail郵件伺服器一.安裝Sendmail完全安裝RedHatLinux9.0時,Sendmail就會自動內置,版本號為8.12.8-4。如果內你不確定Linux是否容已經安裝有sendmail,可以輸入以下命令查看:[root@ahpengroot]rpm–qagrepsend

⑨ linux下如何發送mail,難道一定要開smtp服務嗎

是的

Linux下的SMTP服務的配置,比較復雜一些,且各發行版本有些差異,以下是一個示例,供參考(建議使用第三個方法)

linux下smtp配置方法有幾種,具體如下:
方法一,使用mail函數發送郵件;使用時時需要在本地系統上正確設置SMTP,否則將不能發送郵件。由於對系統的依賴性比較大,很多時候很不穩定,在一些提供虛擬主機服務的代理商中使用mail函數發送郵件往往很不好用,所以不推薦使用這種方法。
方法二,使用管道的形式發送郵件,主要是使用php中的popen函數。使用管道的方法發送郵件屬於比較底層的操作,它取決於用戶調用程序的穩定性。所以相比mail函數,這是一種可選的發送郵件的方式,但是這些本地的郵件系統都太復雜了,用戶可能不會配置。
方法三(推薦),使用phpmailer。phpmailer類是一個開源的發送郵件類,可以從http://phpmailer.sourceforge.net官網下載,它含兩個文件class.smtp.php和class.phpmailer.php。代碼如下

include_once("class.phpmailer.php");
/**
* 定義郵件模塊配製信息
*/
define("SMTP_HOST","smtp.mail.yahoo.com"); // SMTP 主機
define("SMTP_MAIL"," [email protected]"); // SMTP 用戶email
define("SMTP_PASS"," XXXX"); // SMTP 用的密碼

define("SERVICE_MAIL"," [email protected]"); // SMTP 用戶email
define("SERVICE_NAME","PHPBOOK郵件測試"); // SMTP 用的名字

/**
* 使用phpmailer發郵件模塊
*
* @param string $email
* @param string $user
* @param string $subject
* @param string $body
* @return bool
*/
function sendMail($email,$user,$subject,$body)
{
$mail = new PHPMailer();
//$this;
$mail->IsSMTP(); // 設置使用SMTP
$mail->Host = SMTP_HOST; // 設置SMTP伺服器地址
$mail->SMTPAuth = true; // 打開SMTP許可權驗證
$mail->Username = SMTP_MAIL; // SMTP 用戶名
$mail->Password = SMTP_PASS; // SMTP 伺服器密碼

$mail->From = SERVICE_MAIL; // 設置發送者地址
$mail->FromName = SERVICE_NAME; // 設置發送者名字
$mail->AddAddress($email, $user); // 添加接收者地址
$mail->AddReplyTo(SERVICE_MAIL, SERVICE_NAME); // 設置回復地址

$mail->WordWrap = 50; // 設置顯示格式
$mail->IsHTML(true); // 設置郵件支持html
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AltBody = ""; // 文本類型的郵件

if(!$mail->Send())
{
return $mail->ErrorInfo;
}
return true;
}

//開始發送測試郵件ng: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/xiehui/admin/mail/class.smtp.php on line 89
$tomail = " [email protected]";
$user = " XXXXlinux";
$_mailSubject = "郵件測試示例!"; // 發給用戶的郵件標題小組
$_mailBody = "新浪網"; // 郵件內容小組
sendMail($tomail,$user,$_mailSubject,$_mailBody);
?>

實驗證明yahoo的smtp很好用,號稱sina的其實並不好用,我卡在著好長時間。

方法四,給予socket編寫的程序,源代碼如下

使用socket發送郵件的封裝類:
class sendmail{
var $lastmessage; //記錄最後返回的響應信息
var $lastact; //最後的動作,字元串形式
var $welcome; //用在HELO後面,歡迎用戶
var $debug; //是否顯示調試信息
var $smtp; //smtp伺服器
var $port; //smtp埠號
var $fp; //socket句柄
//發送郵件函數
function send_mail($smtp, $welcome="", $debug=false) {
if(empty($smtp)) die("SMTP不能為空!");
$this->smtp=$smtp;
if(empty($welcome)) {
$this->welcome=gethostbyaddr("localhost");
}else
$this->welcome=$welcome;
$this->debug=$debug;
$this->lastmessage="";
$this->lastact="";
$this->port="25";
}
//顯示調試信息
function show_debug($message, $inout) {
if ($this->debug) {
if($inout=="in"){ //響應信息
$m='<< ';
}else
$m='>> ';
if(!ereg("\n$", $message))
$message .= "
";
$message=nl2br($message);
echo "${m}${message}";
}
}
//執行傳遞的命令
function do_command($command, $code) {
$this->lastact=$command;
$this->show_debug($this->lastact, "out");
fputs ( $this->fp, $this->lastact );
$this->lastmessage = fgets ( $this->fp, 512 );
$this->show_debug($this->lastmessage, "in");
if(!ereg("^$code", $this->lastmessage))
return false;
else
return true;
}
//郵件發送處理
function send( $to,$from,$subject,$message) {
//連接伺服器
$this->lastact="connect";
$this->show_debug("連接到SMTP 伺服器: ".$this->smtp, "out");
$this->fp = fsockopen ( $this->smtp, $this->port );
if ( $this->fp ) {
$this->set_socket_blocking( $this->fp, true );
$this->lastmessage=fgets($this->fp,512);
$this->show_debug($this->lastmessage, "in");
if (! ereg ( "^220", $this->lastmessage ) ) {
return false;
}else{
$this->lastact="HELO " . $this->welcome . "\n";
if(!$this->do_command($this->lastact, "250")){
fclose($this->fp);
return false;
}
$this->lastact="MAIL FROM: $from" . "\n";
if(!$this->do_command($this->lastact, "250")){
fclose($this->fp);
return false;
}
$this->lastact="RCPT TO: $to" . "\n";
if(!$this->do_command($this->lastact, "250")){
fclose($this->fp);
return false;
}
//開始發送郵件正文
$this->lastact="DATA\n";
if(!$this->do_command($this->lastact, "354")){
fclose($this->fp);
return false;
}
//開始處理郵件主題頭
$head="Subject: $subject\n";
if(!empty($subject) && !ereg($head, $message)){
$message = $head.$message;
}
//開始處理郵件From頭
$head="From: $from\n";
if(!empty($from) && !ereg($head, $message)) {
$message = $head.$message;
}
//開始處理郵件To頭
$head="To: $to\n";
if(!empty($to) && !ereg($head, $message)) {
$message = $head.$message;
}
//處理結束串
if(!ereg("\n\.\n", $message))
$message .= "\n.\n";
$this->show_debug($message, "out");
fputs($this->fp, $message);
$this->lastact="QUIT\n";
if(!$this->do_command($this->lastact, "250")){
fclose($this->fp);
return false;
}
}
return true;
}else{
$this->show_debug("連接失敗!!", "in");
return false;
}
}
}
?>

使用socket發送郵件示例:

include ("./sendmail.class.php");
$mail = new sendmail();
$email = "您好,這是一個測試郵件!";
$sendmail = new send_mail("smtp.mail.126.com","PHPBOOK",true); //顯示調示信息
if($mail->send("[email protected]", "[email protected]", "測試SOCKET郵件", $email)) {
echo "發送成功!
";
}else{
echo "發送失敗!
";
}
?>

閱讀全文

與linuxsendmail附件相關的資料

熱點內容
ps格式文件打開軟體 瀏覽:371
下載網路資源遇到哪些問題 瀏覽:887
抖音交友app廣告怎麼投 瀏覽:870
esxiha配置文件 瀏覽:573
pubg交易平台有哪些APP 瀏覽:144
excel插入文件夾地址 瀏覽:948
學編程累如何調節 瀏覽:382
圖片傳入iphone 瀏覽:730
rs485雙機通信程序 瀏覽:967
怎麼托日本的朋友買蘋果手機 瀏覽:145
築業電力軟體怎麼倒出文件 瀏覽:572
全民飛機大戰軍銜怎麼升級 瀏覽:431
公司自動化編程屬於什麼 瀏覽:925
位位用車app在哪裡下載 瀏覽:427
格式工廠iphone鈴聲 瀏覽:171
linux設置字元編碼 瀏覽:15
帝王世紀升級哪個兵種 瀏覽:409
c編程開發軟體是什麼 瀏覽:334
二的大寫怎麼寫app 瀏覽:612
樂視數據刪除了怎麼找回來 瀏覽:651

友情鏈接