linux 腳本 發送郵件,shell 腳本發送郵件

有時候會使用腳本完成一系列的自動化工作,工作完成后還需要郵件通知相關人員,此時可以使用第三方的工具:SendEmail,最新版本sendEmail-v1.56.tar.gz

下載地址:http://caspian.dotconf.net/menu/Software/SendEmail/

sendEmil的使用范例:

#!/bin/bash

email_reciver="oneway@163.com lin@126.com"

#發送者郵箱

email_sender=373850874@qq.com

#郵箱用戶名

email_username=373850874

#郵箱密碼

#使用qq郵箱進行發送需要注意:首先需要開啟:POP3/SMTP服務,其次發送郵件的密碼需要使用在開啟POP3/SMTP服務時候騰訊提供的第三方客戶端登陸碼。

email_password=mialbjhzsmuobigf

file1_path="附件一路徑"

file2_path="附件二路徑"

#smtp服務器地址

email_smtphost=smtp.qq.com

email_title="iOS客戶端更新"

email_content="謝謝!"

./sendEmail -f ${email_sender} -t ${email_reciver} -s ${email_smtphost} -u ${email_title} -xu ${email_username} -xp ${email_password} -m ${email_content} -a ${file1_path} ${file2_path} -o message-charset=utf-8

問題 1

要使用腳本發送郵件,必須設置發送郵箱開啟IMAP/SMTP服務。否則將會報錯。

IMAP,即Internet Message Access Protocol(互聯網郵件訪問協議),您可以通過這種協議從郵件服務器上獲取郵件的信息、下載郵件等。IMAP與POP類似,都是一種郵件獲取協議。

IMAP和POP有什么區別?

POP允許電子郵件客戶端下載服務器上的郵件,但是您在電子郵件客戶端的操作(如:移動郵件、標記已讀等),這是不會反饋到服務器上的,比如:您通過電子郵件客戶端收取了QQ郵箱中的3封郵件并移動到了其他文件夾,這些移動動作是不會反饋到服務器上的,也就是說,QQ郵箱服務器上的這些郵件是沒有同時被移動的 。但是IMAP就不同了,電子郵件客戶端的操作都會反饋到服務器上,您對郵件進行的操作(如:移動郵件、標記已讀等),服務器上的郵件也會做相應的動作。也就是說,IMAP是“雙向”的。

同時,IMAP可以只下載郵件的主題,只有當您真正需要的時候,才會下載郵件的所有內容。

問題 2

我使用的系統是Mac OSX EI Capitan, 運行命令時報錯如下:

MaxOS: invalid SSL_version specified at /System/Library/Perl/Extras

/5.18/IO/Socket/SSL.pm line 368.

解決方案:

打開文件: /usr/share/perl5/IO/Socket/SSL.pm

找到: m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1(?:_?[12])?))$}i

替換為:m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))}i

可是接下來的問題又出現了,當你修改完成后卻無法保存,被告知權限不夠,可是你明明使用的是sudo,超級管理員權限。

這是由于 OSX EI Capitan之后蘋果采用了“Rootless”技術來保護系統內核,用戶將沒有權限操作系統文件。但是不要緊

蘋果并沒有把路封死。

執行以下命令:

% dsenableroot

username = wangwei

user password:

root password:

verify root password:

dsenableroot:: ***Successfully enabled root user.

命令執行后可以使sudo 獲取正真的Root用戶權限。sudo root用戶的密碼就是你剛剛設置的密碼。

如果你希望自己的賬戶擁有root權限,那么你也可以通過添加 -U 參數來達到這一目的:

dsenableroot -u wangwei

#其中wangwei為你的用戶名

此時你就可以更改/usr/share/perl5/IO/Socket/SSL.pm了。

關于root權限問題,蘋果既然使用了Rootless技術來保護內核雖然給我們造成了一些麻煩,但是一定是有他的道理的,比如更加安全,防止了誤操作等。

所以我們獲取到最高權限后,最好再取消Root權限

取消用戶的Root權限

取消用戶Root權限只需要在命令后加參數:-d (disable)

% dsenableroot -d

username = wangwei (或者是root)

user password:

dsenableroot:: ***Successfully disabled root user.

取消特定用戶的Root權限:

dsenableroot -d -u wangwei

關閉“Rootless”

sudo nvram boot-args="rootless=0"; sudo reboot

文章參考

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530839.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530839.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530839.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

link linux 跨設備,Linux中的兩種link方式

Linux系統中包括兩種鏈接方式:硬鏈接(hard link)和符號鏈接(symbolic link),其中符合鏈接就是所謂的軟鏈接(soft link),那么兩者之間到底有什么區別呢?inode在Linux系統中,內核為每一個新創建的文件分配一個inode&…

linux 運行ca.crt,linux下使用openssl生成 csr crt CA證書,opensslcsr

linux下使用openssl生成 csr crt CA證書,opensslcsr本文主要借鑒和引用了下面2個地址的內容,然后在自己的機器上進行了測試和執行,并做了如下記錄。ref:http://blog.chinaunix.net/uid-26760055-id-3128132.htmlhttp://www.111cn.net/sys/lin…

linux cpu核數和線程數,cpu個數、核數和線程的理解

1.查看物理cpu個數grep physical id /proc/cpuinfo | sort -u | wc -l2.查看核心數量grep core id /proc/cpuinfo | sort -u | wc -l3.查看線程數grep processor /proc/cpuinfo | sort -u | wc -lcat /proc/cpuinfo 查看文件里面關鍵信息processor : 23 ----------代表…

linux設置超鏈接,幫助-鏈接 - Linux Kernel Newbies

this page is outdated and needs to be fixed參考鏈接形式語法備注內部鏈接WikiNameCamelCase page name內部自由鏈接["Page"] or ["free link"]可配置函數內部子頁面鏈接/SubPage or ["/Sub page"]相對于上一級頁面外部鏈接http://example.net…

linux 文件系統cache,終于找到一篇詳解Linux文件系統Cache的文章

級別: 初級2006 年 5 月 11 日文件 Cache 管理是 Linux 內核中一個很重要并且較難理解的組成部分。本文詳細介紹了 Linux內核中文件 Cache 管理的各個方面,希望能夠對開發者理解相關代碼有所幫助。自從誕生以來,Linux 就被不斷完善和普及&…

寶塔Linux怎么安裝Mariadb,如何在linux上面安裝mariadb總結

1、下載MariaDB(mariadb-5.5.31.tar.gz)[rootzabbix_server opt]# wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz2、安裝MariaDB[rootzabbix_server opt]# tar xzvf mariadb-5.5.31.tar.gz[rootzabbix_server cmake-2.8.5]# cd cmake-2.8.5[rootzabbix_server cmak…

c語言數碼管加法程序怎么寫,拜托大神寫數碼管與矩陣鍵盤結合設計簡易計算器C語言的程序...

我和你用的是一樣的,給你一個我買板子送的矩陣程序//4*4鍵盤檢測程序,按下鍵后相應的代碼顯示在數碼管上#includesbit beepP2^3;sbit dulaP2^6;sbit welaP2^7;unsigned char i100;unsigned char j,k,temp,key;void delay(unsigned char i){for(ji;j>0;j--)for(k1…

七橋問題c語言程序數據結構,數據結構與算法學習——圖論

什么是圖?在計算機程序設計中,圖結構也是一種非常常見的數據結構但是圖論其實是一個非常大的話題圖結構是一種與樹結構有些相似的數據結構圖論是數學的一個分支,并且在數學概念上,樹是圖的一種它以圖為研究對象,研究頂…

c語言式表白,c語言表白必備

c語言表白必備七夕情人節表白必備,多顏色心形展示看圖#include#include#include#include #define r 10#define R 172int main(){int i;printf("我");fflush(stdout); //強制刷新緩存,輸出顯示Sleep(1000);printf("自");fflush(stdou…

《c#編程語言詳解》,C#編程語言詳解(第2版)

前言前 言C#項目啟動于七年前——1998年12月,其目標是為全新的并命名為.NET的平臺創建一種簡單、現代、面向對象和類型安全的程序設計語言。從那時起,C#已經走過了漫長的道路。現在,成千上萬的程序員在使用C#語言;ECMA和ISO/IEC已…

明解c語言中級篇微盤,明解C語言:中級篇

第1章 猜數游戲  11-1 猜數判定  2通過if語句實現條件分支  2if語句的嵌套  3實現多分支的方法  41-2 重復到猜對為止  8通過do語句循環  8相等運算符和關系運算符  9通過while語句循環  10break語句  10while語句和do語句  11先判斷后循環和先循環后…

共同體不是c語言中的一個數據類型,《c語言程序設計教學資料》第12章---構體和共同體.ppt...

《c語言程序設計教學資料》第12章---構體和共同體向函數傳遞結構體 用結構體指針或結構體數組作為函數參數,向函數傳遞結構體的地址 按值調用 按地址調用 結構體變量作函數參數 實現按值調用 結構體指針作函數參數 從函數返回 結構體變量的值 共用體 共用體所占內存…

android中gradle的作用,Gradle 之 Android 中的應用

在上一篇文章中 Gradle 之語言基礎 Groovy 主要介紹了 Groovy 的基礎語法(如果沒有 Groovy 的基礎,建議先看看上篇文章,如果可以動手敲一下里面的示例代碼就更好不過了),也是為本篇文章打基礎的。本篇文章主要介紹 Gradle 在 Android 中的應用…

android程序更改pdf文件格式,Android根據pdf模板生成pdf文件

1 public voidFillPdfTemplate(String id) {2 android.icu.text.SimpleDateFormat simpleDateFormat 3 new android.icu.text.SimpleDateFormat("HHmmss");//HH:mm:ss4 //設置默認時區5 simpleDateFormat.setTimeZone(android.icu.util.TimeZone.getTimeZone("G…

android頁面跳轉時獲取地址欄,Android 利用scheme頁面內跳轉協議進行跳轉

什么是 URL Scheme?android中的scheme是一種頁面內跳轉協議。通過定義自己的scheme協議,可以非常方便跳轉app中的各個頁面;通過scheme協議,服務器可以定制化告訴App跳轉到APP內部頁面。之前項目都是我們客戶端和服務器端用自定義j…

android按鈕置于頂層,如何把按鍵顯示在最頂層窗口上(屏幕最頂上)

[Delphi] 純文本查看 復制代碼unit Unit2;interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;typeTForm2 class(TForm)procedure FormCreate(Sender: TObject);private{ …

android signalr 自動重連,.net-何時在signalR中重新連接?

當客戶端脫機然后不久后重新獲得連接時,就會發生集線器重新連接。 SignalR配置值在很大程度上決定了以下示例的時間戳,因此無需逐字記錄時間。以下是一些示例及其涉及重新連接行為的結果(時間格式:m:ss):當我提到以下內…

自己寫的android apk反編譯,獲取Android自己寫好了的apk以及反編譯

今天,我們先說一下,獲取Android自帶的apk以及反編譯它們來學習Android工程師是怎樣寫的,今天我們就以拿到Android自帶的短信管理器的apk為例子你可能有疑問,為什么要那么麻煩,從系統來拿,還要反編譯&#x…

一加7pro系統更新android10,一加OnePlus7T Pro官方安卓10.0穩定版出廠系統固件升級更新包...

咱們的這個一加OnePlus7T Pro手機的最新穩定版系統包也是在這里來分享一下了,這個穩定版本的系統包是安卓10穩定版的,也是第一個版本的,系統包大小是3.2G,系統方面主要是全新的UI設計,輕快流暢操作體驗,更多…

5元素升級android6,升級你的app以支持高長寬比的新旗艦

為了呈現更好的視覺效果,許多安卓OEM廠商都開始采用超大屏幕。三星剛剛發布了自己的新旗艦Samsung Galaxy S8,長寬比達到18.5:9。今年早些時候的全球移動大會上LG也亮相了 LG G6,屏幕長寬比達到了18:9。(左) maximum aspect ratio為16:9的app…