Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产麻豆91欧美一区二区,国产免费人成在线视频视频,久久99国产精品视频

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          javaMail實現簡單的發送QQ郵箱

          javaMail實現簡單的發送QQ郵箱

          mport javax.mail.Session;

          import javax.mail.Transport;

          import javax.mail.internet.InternetAddress;

          import javax.mail.internet.MimeMessage;

          import java.util.Date;

          import java.util.Properties;

          //最近寫的qq郵箱發送,也遇到一些問題,163的老是被攔截,后來QQ的成功了。所有分享給大家。

          //這個只是發送一些簡單文字,圖片和附件大家研究一下就知道了。csdn上我也發表了

          public class MailSend {

          public static String myEmailAccount="XXXXXXXXXXX@qq.com";//自己郵箱的賬戶

          // 發件人郵箱的 SMTP 服務器地址, 必須準確, 不同郵件服務器地址不同, 一般(只是一般, 絕非絕對)格式為: smtp.xxx.com

          public static String EmaiPHost="smtp.qq.com";

          public static String receiveMailAccount="XXXXXXXXXXXX@qq.com";

          public static void main(String[] args) throws Exception {

          // 1. 創建參數配置, 用于連接郵件服務器的參數配置

          Properties props=new Properties(); // 參數配置

          props.setProperty("mail.transport.protocol", "smtp"); // 使用的協議(JavaMail規范要求)

          props.setProperty("mail.smtp.host", EmaiPHost ); // 發件人的郵箱的 SMTP 服務器地址

          props.setProperty("mail.smtp.auth", "true"); // 需要請求認證

          //開啟ssl安全驗證

          props.setProperty("mail.smtp.port", smtpPort);

          props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

          props.setProperty("mail.smtp.socketFactory.fallback", "false");

          props.setProperty("mail.smtp.socketFactory.port", smtpPort);

          // 2. 根據配置創建會話對象, 用于和郵件服務器交互

          Session session=Session.getDefaultInstance(props);

          session.setDebug(true); // 設置為debug模式, 可以查看詳細的發送 log

          // 3. 創建一封郵件

          MimeMessage message=createMimeMessage(session, myEmailAccount, receiveMailAccount);

          // 4. 根據 Session 獲取郵件傳輸對象

          Transport transport=session.getTransport();

          transport.connect(myEmailAccount, "XXXXXXXXXX");//連接,XXXXXXXX填的是qq郵箱的授權碼,登錄QQ郵箱,然后在設置里面p0p3/smtp哪一塊可以看到,協議必須打開。

          //登錄qq郵箱---設置----賬戶-----然后下面可以看到,然后生成授權碼。

          // 6. 發送郵件, 發到所有的收件地址, message.getAllRecipients() 獲取到的是在創建郵件對象時添加的所有收件人, 抄送人, 密送人

          // for(int i=0;i<100;i++){

          transport.sendMessage(message, message.getAllRecipients());//發送出去,那個for循環是我發給我朋友玩的,他直接收到100條

          // }

          // 7. 關閉連接

          transport.close();

          }

          /**

          *

          * @param session

          * @param sendMail 發件人郵箱

          * @param receiveMail 收件人郵箱

          * @return

          * @throws Exception

          */

          public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {

          // 1. 創建一封郵件

          MimeMessage message=new MimeMessage(session);

          // 2. From: 發件人

          message.setFrom(new InternetAddress(sendMail, "你的大哥", "UTF-8"));

          // 3. To: 收件人(可以增加多個收件人、抄送、密送)

          message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "謝", "UTF-8"));

          // 4. Subject: 郵件主題

          message.setSubject("你好", "UTF-8");

          // 5. Content: 郵件正文(可以使用html標簽)

          message.setContent("這是一封重要郵件,來自一根麻辣", "text/html;charset=UTF-8");

          // 6. 設置發件時間

          message.setSentDate(new Date());

          // 7. 保存設置

          message.saveChanges();

          return message;

          }

          }

          怕會亂了排版,所有將代碼截圖了,方便大家看看。每天發表一篇JAVA技術類文章,希望大家留言讓我知道大家需要什么樣的文章。。

          分享成果,隨喜正能量】人生,有多少計較,就有多少痛苦。有多少寬容,就有多少歡樂。痛苦與歡樂都是心靈的折射,就像鏡子里面有什么,決定于鏡子面前的事物。心里放不下,自然成了負擔,負擔越多,人生越不快樂。計較的心如同口袋,寬容的心猶如漏斗。復雜的心愛計較,簡單的心易快樂。

          《VBA信息獲取與處理》教程是我推出第六套教程,目前已經是第一版修訂了。這套教程定位于最高級,是學完初級,中級后的教程。這部教程給大家講解的內容有:跨應用程序信息獲得、隨機信息的利用、電子郵件的發送、VBA互聯網數據抓取、VBA延時操作,剪貼板應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數等等內容。程序文件通過32位和64位兩種OFFICE系統測試。是非常抽象的,更具研究的價值。

          教程共兩冊,八十四講。今日的內容是專題八“VBA與HTML文檔”的第二節上半部分:HTML文檔元素

          第二節 HTML文檔的元素分析之一

          大家好,我們這講開始HTML的講解,為了認識這種特殊的語言,我們要先看看這種語言中的各種元素個代表什么意義。上節中在講這種語言的特征時講過,標簽是用來描述網頁的。瀏覽器讀取HTML文檔,識別標簽,并按標簽要求以網頁進行顯示文本。大部分標簽都是成隊出現的。

          起始標簽和結束標簽之間的所有文本,都叫做元素。也就是這個格式就是:

          <起始標簽:也叫元素名>元素的內容<結束標簽:/+元素名>

          標簽是可以擁有屬性的,屬性提供了元素的一些附加信息,起始標簽,有時候格式如下:

          <元素名 屬性名稱=”屬性值”>

          同時,元素是可以擁有元素的,即某個元素的內容有時候是一個子元素。

          元素這東西,比較抽象,我們可以把它且當作一個對象來理解,例如工作簿對象,每個工作簿的名稱都不一樣(屬性),每個工作簿里面都有工作表(子元素),每個表都有名稱(屬性),里面填寫的內容也不一樣(元素的內容)。

          1 HTML文檔構成的整體框架結構

          在上一講中我們舉了一個最為簡單的實例來說明HTML文檔:

          <html>

          <body>

          <h1>學習VBA語言</h1>

          <p>為了更好的掌握VBA的各個知識點,您可以參考我的第一套教程:VBA代碼解決方案</p>

          </body>

          </html>

          我們將上面的格式修正一下,如下面:

          <html>

          <head> <!--注釋:文檔頭部,文檔相關消息,并不提供文檔內容-->

          <title>

          VBA應用提高篇

          </title>

          </head>

          <body> <!--注釋:文檔主體-->

          <h1>學習VBA語言</h1>

          <p>為了更好的掌握VBA的各個知識點,您可以先參考我的第一套教程:VBA代碼解決方案</p>

          </body>

          </html>

          將上面的內容寫入記事本中保存為.html文件:HTML基礎學習-1.html

          然后我們雙擊打開這個文件,看看瀏覽器的翻譯效果:

          我們再看看網頁的源碼:

          從上面的框架代碼,我們可以看出,一般的頁面,都有html元素,其一般內含兩個元素,一個是head元素,一個是body元素。Head元素僅僅說明文檔的相關消息,并不展示文檔實體,body元素才是真正展示文檔主體的,所有要在頁面展示的元素,都要在body內進行書寫。

          2 HTML文檔常用元素的構成

          1)HTML標題 <h1> - <h6>

          標題(Heading)是通過 <h1> - <h6> 等標簽進行定義的。<h1> 定義最大的標題。<h6> 定義最小的標題。瀏覽器會自動地在標題的前后添加空行。標題很重要,將 HTML heading 標簽只用于標題。不要僅僅是為了產生粗體或大號的文本而使用標題。因為用戶可以通過標題來快速瀏覽您的網頁,所以用標題來呈現文檔結構是很重要的。應該將 h1 用作主標題(最重要的),其后是 h2(次重要的),再其次是 h3,以此類推。在HTML基礎學習.HTML文件中我們已經用到了標題的元素

          2)HTML水平線 <hr />

          <hr /> 標簽在 HTML 頁面中創建水平線。可用于分隔內容。

          [待續]

          本節參考文件:HTML基礎學習-1.html;HTML基礎學習-2.html

          我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中,教程學習順序:

          【分享成果,隨喜正能量】人生,一歲有一歲的味道,一站有一站的風景,你的年齡應該成為你生命的勛章而不是你傷感的理由。 ??

          者 | Mateusz Iwaniuk

          譯者 | 明明如月,責編 | 夕顏

          出品 | CSDN(ID:CSDNnews)

          文章配套代碼: https://github.com/iwaniukooo11/email-sender

          現在,即使是創建最基本的網站,程序員也必須使用現代的功能和技術。甚至像為你的朋友創建簡單的投資組合這樣的基本項目也可能涉及到一些問題,比如從聯系人表單接收數據。有很多方法可以讀取這些數據。你可以將表單與數據庫連接起來,然后從數據庫中讀取傳入的消息來實現功能,但這樣做會給不懂技術的客戶造成困難。

          你為什么不通過發送電子郵件傳輸信息?

          不使用數據庫就能接收到傳入的消息,絕對是最佳選擇,也是最方便用戶的選擇。但問題來了—如何實現呢?你可能認為需要使用某種后端語言。

          實際上,你不必使用任何如 php 或 python 這種后端語言,你甚至不需要用到 node.js!你需要的就是一個簡單的EmailJS 庫。

          本文將介紹下面兩個重要功能:

          • 配置 emailjs 帳戶

          • 使用 JS 發送電子郵件

          請注意,在我的項目中,我使用了 gulp 和 webpack,我在 src 文件夾存放源碼,dist 存放最終發布版本的代碼。

          我將分 5 個步驟向你展示如何從頭開始構建電子郵件發送器。

          步驟1-用 HTML 創建表單

          首先需要創建一個 HTML 表單。你不必放置像 required 或 max 這種驗證屬性,因為稍后,preventDefault 函數將在你的提交事件上運行,它會讓這些屬性的處理失效。

          表單中最重要的是為每個輸入放置 name 屬性,后面會用到。

          我的非常簡單的表單是這樣的:

          src/html/index.html

           <form class="form"> <input name='name' type="text" placeholder="Your name..." class="form__input" /> <input name='topic' type="text" placeholder="Topic..." class="form__input" /> <textarea name='message' type="text" placeholder="Your Message..." class="form__input" ></textarea>

          <input type="submit" value="send" class="form__input form__input--button"> </form>

          步驟2-注冊成為 email 用戶

          要配置你的電子郵件,你必須注冊電子郵件服務。別擔心—使用這個網站非常方便和省時。

          登入后,系統會詢問你的電子郵件服務,它位于個人電子郵件服務區(personal email service)。在我的例子中,我選擇了 gmail。

          然后,你需要連接你的 gmail 帳戶。這將用來發送電子郵件給你客戶。例如,如果你關聯了 xyz@gmail.com 賬戶,你后續發送的郵件都將從這個郵箱發出。所以不要擔心“ Send email on your behalf” 這個授權信息—這正是你需要的!

          連接完 gmail 賬戶后,點擊添加服務(add service)按鈕。

          步驟3-創建郵件模板

          如果你已經成功連接了你的 gmail 賬戶,你現在應該在信息中心中。現在需要創建電子郵件模板了。

          切換到電子郵件模板卡,并單擊創建一個新的模板(create a new template)。界面非常友好,所以創建模板不會有任何問題。

          你可以選擇模板的名稱和 ID。我稱之為“我的神奇模板(my_amazing_template)”。

          接下來,你必須指定郵件的內容。

          模板的變量值來自 input 中的 `name` 屬性。你已將變量插入`{{{}}}`符號中。

          不要忘記在“收件人”部分 (右側) 添加電子郵件地址。你的電子郵件將被發送到該電子郵件地址上。截圖中的收件人郵箱是我自己的公司郵箱。

          這是我的簡單模板,它使用來自 HTML 表單里的 3 個變量。我還指定了接收電子郵件的主題。

          步驟4-保存 API 密鑰

          這部分沒什么特別的。Emailjs 共享授權 API 密鑰,將在發送電子郵件時使用。當然,放這些鑰匙最好的地方是`.env` 配置。但是因為我使用的是簡單的靜態文件,我不想使用服務器配置,所以我將它們保存在 apikeys 文件中,然后再將它們導入。

          你的 USER_ID 位于 Account > API Keys 菜單下。

          TEMPLATE_ID 位于模板的標題下面。

          這是我基于不存在的 keyssrc / js / apikeys. js 的示例配置.

          src/js/apikeys.js

          export default { USER_ID :'user_DPUd-rest-of-my-id', TEMPLATE_ID:'my_amazing_template'}

          如果需要將源碼發布到 GITHUB,不要忘記將 APIKEYS 文件添加到 .GITIGNORE文件中

          步驟5-發送電子郵件

          現在是該項目最后也是最重要的部分的了。現在我們必須使用 javascript 發送電子郵件。

          首先,你必須下載 emailjs 包。

          npm i emails-com

          然后,轉到 js 文件,導入庫和 apikeys。

          src/js/main.js

          import emailjs from 'emailjs-com'import apiKeys from './apikeys'

          現在是編寫發送電子郵件功能的時候了

          src/js/main.js

          const sendEmail=e=> { e.preventDefault

          emailjs .sendForm('gmail', apiKeys.TEMPLATE_ID, e.target, apiKeys.USER_ID) .then( result=> { console.log(result.text) }, error=> { console.log(error.text) } )}

          sendForm 函數有4個參數:

          你的電子郵件的 ID,在這里:

          TEMPLATE_ID 來自 apikey 文件,

          事件對象來自你的表單提交

          USER_ID 來自 apikey 文件,

          最后,查找表單并添加提交事件監聽器:

          src/js/main.js

          const form=document.querySelector('.form')form.addEventListener('submit',sendEmail)

          正如我前面提到的,由于 `preventDefault` 函數,屬性驗證將無法工作。你必須使用 JS 自己進行驗證和清除輸入。

          以上就是全部內容,接下來讓我們測試一下。

          填寫頁面上的表單并發送。

          我收到電子郵件,內容正是根據我們的模板和表單數據渲染出來的。

          通過上圖可以看出,所有的變量的值都填充到了正確的位置上。

          總結

          通過本文的介紹你會發現用 JS 發送郵件并非難事。

          使用 emailjs,你可以簡單的方式發送電子郵件。

          我相信你未來的用戶會很高興收到來自他們網頁上表單填寫數據的t郵件,相信本文對你有幫助。

          這篇文章的配套代碼在這里: https://github.com/iwaniukooo11/email-sender

          原文鏈接:

          https://dev.to/iwaniukooo11/send-e-mails-directly-from-front-end-with-js-5d7d

          本文為CSDN翻譯文章,轉載請注明出處。

          ?我們想研發一個機器學習框架,6 個月后失敗了

          ?生產型機器學習已經沒那么困難了?

          ?視頻 | 你不知道的"開源"60年秘史

          ?GitHub標星10,000+,Apache項目ShardingSphere的開源之路

          ?阿里技術專家告訴你,如何畫出優秀的架構圖?

          ?加拿大API平臺如何做到30%為中國明星項目?創業老兵這樣說……


          主站蜘蛛池模板: 亚洲第一区二区快射影院| 国产一区二区三区在线免费观看| 久久影院亚洲一区| 最新欧美精品一区二区三区| 国产亚洲综合精品一区二区三区| 日本不卡免费新一区二区三区| 亚洲大尺度无码无码专线一区 | 国产亚洲欧洲Aⅴ综合一区| 亚洲av午夜精品一区二区三区| 无码少妇一区二区性色AV| 国产成人精品一区在线| 亚洲熟女综合色一区二区三区| 亚洲av鲁丝一区二区三区| 日韩一区二区三区视频久久| 欧美日韩精品一区二区在线视频 | 香蕉一区二区三区观| 亚洲Av无码一区二区二三区| 精品视频一区二区三区在线观看| 国产高清在线精品一区二区三区 | 亚洲一区二区三区无码国产| 琪琪see色原网一区二区| 精品少妇ay一区二区三区 | 精品欧洲AV无码一区二区男男| 日韩综合无码一区二区| 一区二区三区在线观看免费| 无码AV一区二区三区无码| 日本一区二区不卡视频| 国产成人精品一区二区A片带套| 中文字幕一区二区三区视频在线| 无码午夜人妻一区二区三区不卡视频| 亚洲综合在线成人一区| 日本一区二区三区在线视频| 无码国产精品一区二区免费式芒果| 精品一区二区ww| 极品尤物一区二区三区| 亚洲一区二区三区国产精品| 国产精品香蕉在线一区| 夜夜添无码一区二区三区| 日韩免费一区二区三区在线播放| 久久无码一区二区三区少妇| 制服丝袜一区在线|