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
時在我們的收件箱里面,經常會收到很多精美的HTML郵件,上面有文字,圖片,圖文并茂,點擊圖片按鈕可以直接跳轉到所要導流的頁面,有的郵件下面還有Social的Logo,比如Facebook,twitter,點擊按鈕就會跳轉所對應的頁面。
比如上面截取了一些HTML的郵箱格式,這種HTML的EDM營銷感覺非常的酷,比純文本的郵件更有豐富多彩,也更能傳達出更多的內容跟素材,也更吸引抓住用戶的眼球。圖片下面直接可以設置鏈接,也方便用戶直接點擊進入,避免二次流失。
今天就給大家介紹一款在線制作HTML郵件的工具,其實操作也是非常的簡單,可以直接在網站內的系統模板修改,替換成自己的素材和鏈接,也可以自己去設置圖文排版。
這款工具就是Topol,一款專門在線制作HTML郵件的工具,非常容易操作跟上手
網址為https://app.topol.io
剛開始制作時建議直接使用網址內的模板去替換自己產品的素材,文案跟鏈接,因為網址里面提供了幾十套制作非常精美的HTML郵件,我們先來看看。
大家可以根據自己的喜愛,去選擇喜歡的模板直接點擊進去去后臺編輯,替換自己的元素,接下來來看看如何替換跟編輯:
比如就以下面這個手環的HTML郵件為模板,因為上面的圖文信息真的非常非常豐富,有產品圖片,購買按鈕,產品Slogan,產品功能介紹以及社媒鏈接等,展示元素非常充足。
打開后臺頁面是這樣的,首先先熟悉下下方左側紅色方框內的意思,其實也都是非常好理解的, 就是我們想要在右側HTML郵件模板中需要什么元素,直接把紅色方框內的按鈕拖過去,比如需要放置文案,就把TEXT按鈕,拖過去,如果是放置圖片,GIF或者視頻,就把對應的按鈕拖到需要放置的展示位置就可以。
Sturecture按鈕就是你想要圖片或者文案的格式,直接拖過去就可以,知道這些意思之后,接下來我們看看如何操作。
第一,先選擇你想要排列的Structure,比如選擇2個橫排并列,直接拖2個并列的結構過去,如下所示:
第二,就是要思考你想要展示的元素是什么,是文案還是圖片,把想要展示的形式直接拖到上圖2個方框里面,比如我們選擇圖片
然后選擇2個我們自己產品的圖片放上去,如下圖所示,為了節省時間,文案部分就不做修改,修改方式跟圖片是一樣的,只需要把圖片的文案替換成我們自己的就可以。
然后圖片下面有個Check whole collection按鈕,可以刪去這個按鈕,也可以點擊保留按鈕,可以在按鈕下面放上自己的產品鏈接以及顯示在按鈕上的文案, 還可以調整按鈕顯示的驗收,尺寸大小,字體驗收等等非常詳細的信息,建議大家可以都去嘗試下。
下面就是產品功能的一些展示,可以把下面的主要展示功能替換為自己產品的功能以及圖片,文案等,操作方法跟上面那個一樣。
接下來就是產品櫥窗展示以及購物按鈕添加,以及一些物流等相關信息,可以把下面的產品展示圖片替換成自己的以及鏈接。
在接下來就是一些社交媒體的展示,直接點擊下面的按鈕然后在對應的社交媒體輸入對應的鏈接,當用戶點擊的時候就會跳轉到對應的頁面。
加好這些之后,就可以預覽下效果怎么樣,可以Preview在PC跟移動端,哪里有不合適的可以直接調整下,如果覺得一切都ok的可以發送到自己的郵箱預覽,尤其是導流的鏈接,點擊下是否能跳轉到所要導流的頁面。
然后你的郵箱就會收到你自己親手做的HTML精美的郵件,因為我這個主要做演示作用,有很多沒有調整所以做的比較難看,大家可以好好設計一下,做出非常精美的HTML郵件,從而做好EDM營銷,吸引用戶點擊郵箱,從而提高轉化。
如果你的郵箱收到自己做的HTML郵件,檢查之后沒有問題,就可以轉發給用戶,可以是做B2C的用戶,也可以是外貿B端用來發開發信的用戶。
還有一個方法發送HTML郵件,就是比較復雜一些,做好HTML郵件之后點擊保存按鈕,然后獲取HTML源代碼,然后復制源代碼去轉換。
比如常見的QQ郵箱,網易郵箱都可以轉化,以QQ郵箱為例,點擊格式--然后復制粘貼HTML源代碼--點擊可視化編輯按鈕就可以啦,如下圖所示
Topol工具真的非常方便制作HTML圖文并茂郵件,且操作方法也非常簡單,功能也非常繁多,建議大家可以好好去研究下,做好EDM營銷,不僅僅對B端,C端用戶,對開發紅人,聯系海外科技媒體編輯同樣適用。
這篇文章寫的也比較簡單,主要是講一些重要的步驟,如何設計非常有吸引力的HTML需要小伙伴在下面好好去嘗試下。
這個適合初學者的指南中,你將學習如何創建一個響應式電子郵件模板。你將跟隨逐步說明以及代碼片段設計一個在任何設備上都看起來很棒的電子郵件模板。
這個項目非常適合渴望掌握電子郵件設計基礎的新手!
(本文視頻講解:java567.com)
郵件服務是常用的服務之一,作用很多,對外可以給用戶發送活動、營銷廣告等;對內可以發送系統監控報告與告警。
本文將介紹Springboot如何整合郵件服務,并給出不同郵件服務商的整合配置。
如圖所示:
Springboot搭建
Springboot的搭建非常簡單,我們使用 https://start.spring.io/來構建,十分方便,選擇需要用到的模塊,就能快速完成項目的搭建:
引入依賴
為了使用郵件服務,我們需要引入相關的依賴,對于Springboot加入下面的依賴即可:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
配置文件
需要配置郵件服務提供商的相關參數,如服務地址、用戶名及密碼等。下面的例子是QQ的配置,其中密碼并不是QQ密碼,而是QQ授權碼,后續我們再講怎么獲得。
Springboot的配置文件application.yml如下:
server: port: 8080 spring: profiles: active: qq --- spring: profiles: qq mail: host: smtp.qq.com username: xxx@qq.com password: xxx properties: mail: smtp: auth: true starttls: enable: true required: true --- spring: profiles: netEase mail: host: smtp.163.com username: xxx@163.com password: xxx properties: mail: smtp: auth: true starttls: enable: true required: true
實現發送服務
將JavaMailSender注入,組裝Message后,就可以發送最簡單的文本郵件了。
@Autowired private JavaMailSender emailSender; public void sendNormalText(String from, String to, String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom(from); message.setTo(to); message.setSubject(subject); message.setText(text); emailSender.send(message); }
調用接口
服務調用實現后,通過Controller對外暴露REST接口,具體代碼如下:
@Value("${spring.mail.username}") private String username; @Autowired private MailService mailService; @GetMapping("/normalText") public Mono<String> sendNormalText() { mailService.sendNormalText(username, username, "Springboot Mail(Normal Text)", "This is a mail from Springboot!"); return Mono.just("sent"); }
把實現的MailService注入到Controller里,調用對應的方法即可。本次的郵件發送人和收件人都是同一個帳戶,實際實現可以靈活配置。
通過Postman調用接口來測試一下能不能正常發送:
成功返回"sent",并收到了郵件,測試通過。
簡單文本郵件
簡單文本郵件如何發送,剛剛已經講解,不再贅述。
HTML郵件
純文本雖然已經能滿足很多需求,但很多時候也需要更加豐富的樣式來提高郵件的表現力。這時HTML類型的郵件就非常有用。
Service代碼如下:
public void sendHtml(String from, String to, String subject, String text) throws MessagingException { MimeMessage message = emailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(from); helper.setTo(to); helper.setSubject(subject); helper.setText(text, true); emailSender.send(message); }
與簡單的文本不同的是,本次用到了MimeMessage和MimeMessageHelper,這是非常有用的類,后續我們經常會用到,組合使用能大大豐富郵件表現形式。
Controller的代碼如下:
@GetMapping("/html") public Mono<String> sendHtml() throws MessagingException { mailService.sendHtml(username, username, "Springboot Mail(HTML)", "<h1>This is a mail from Springboot!</h1>"); return Mono.just("sent"); }
帶附件郵件
郵件發送文件再正常不過,發送附件需要使用MimeMessageHelper.addAttachment(String attachmentFilename, InputStreamSource inputStreamSource)方法,第一個參數為附件名,第二參數為文件流資源。Service代碼如下:
public void sendAttachment(String from, String to, String subject, String text, String filePath) throws MessagingException { MimeMessage message = emailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(from); helper.setTo(to); helper.setSubject(subject); helper.setText(text, true); FileSystemResource file = new FileSystemResource(new File(filePath)); helper.addAttachment(filePath, file); emailSender.send(message); }
Controller代碼如下:
@GetMapping("/attachment") public Mono<String> sendAttachment() throws MessagingException { mailService.sendAttachment(username, username, "Springboot Mail(Attachment)", "<h1>Please check the attachment!</h1>", "/Pictures/postman.png"); return Mono.just("sent"); }
帶靜態資源郵件
我們訪問的網頁其實也是一個HTML,是可以帶很多靜態資源的,如圖片、視頻等。Service代碼如下:
public void sendStaticResource(String from, String to, String subject, String text, String filePath, String contentId) throws MessagingException { MimeMessage message = emailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(from); helper.setTo(to); helper.setSubject(subject); helper.setText(text, true); FileSystemResource file = new FileSystemResource(new File(filePath)); helper.addInline(contentId, file); emailSender.send(message); }
其中,contentId為HTML里靜態資源的ID,需要對應好。
Controller代碼如下:
@GetMapping("/inlinePicture") public Mono<String> sendStaticResource() throws MessagingException { mailService.sendStaticResource(username, username, "Springboot Mail(Static Resource)", "<html><body>With inline picture<img src='cid:picture' /></body></html>", "/Pictures/postman.png", "picture"); return Mono.just("sent"); }
模板郵件
Java的模板引擎很多,著名的有Freemarker、Thymeleaf、Velocity等,這不是本點的重點,所以只以Freemarker為例使用。
Service代碼如下:
@Autowired private FreeMarkerConfigurer freeMarkerConfigurer; public void sendTemplateFreemarker(String from, String to, String subject, Map<String, Object> model, String templateFile) throws Exception { MimeMessage message = emailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(from); helper.setTo(to); helper.setSubject(subject); Template template = freeMarkerConfigurer.getConfiguration().getTemplate(templateFile); String html = FreeMarkerTemplateUtils.processTemplateIntoString(template, model); helper.setText(html, true); emailSender.send(message); }
注意需要注入FreeMarkerConfigurer,然后使用FreeMarkerTemplateUtils解析模板,返回String,就可以作為內容發送了。
Controller代碼如下:
@GetMapping("/template") public Mono<String> sendTemplateFreemarker() throws Exception { Map<String, Object> model = new HashMap<>(); model.put("username", username); model.put("templateType", "Freemarker"); mailService.sendTemplateFreemarker(username, username, "Springboot Mail(Template)", model, "template.html"); return Mono.just("sent"); }
注意模板文件template.html要放在resources/templates/目錄下面,這樣才能找得到。
模板內容如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>Hello ${username}</h1> <h1>This is a mail from Springboot using ${templateType}</h1> </body> </html>
其中${username}和${templateType}為需要替換的變量名,Freemarker提供了很多豐富的變量表達式,這里不展開講了。
郵件服務的提供商很多,國內最常用的應該是QQ郵箱和網易163郵箱了。
集成QQ郵件需要有必備的賬號,還要開通授權碼。開通授權碼后配置一下就可以使用了,官方的文檔如下:
https://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28
需要注意的是,開通授權碼是需要使用綁定的手機號發短信到特定號碼的,如果沒有綁定手機或者綁定手機不可用,那都會影響開通。
開通之后,授權碼就要以作為密碼配置到文件中。
163
網易的開通方式與QQ沒有太大差別,具體的指導可以看如下官方文檔:
http://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac2cda80145a1742516
同樣也是需要綁定手機進行操作。
本次例子發送后收到郵件如圖所示:
郵件功能強大,Springboot也非常容易整合。技術利器,善用而不濫用。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。