2017-04-14 63 views
0

我正在使用Mailgun的curl命令的格式,它允許我發送消息的HTML版本以及明文備份並從Ruby腳本中運行它。問題是,當我嘗試在消息的HTML部分中包含鏈接時,我總是收到語法錯誤。無法使用Ruby發送帶Mailgun的鏈接URL

我意識到這是一個逃避特殊問題的問題,但我一直無法將它解決。

這裏是主文件:

require './message_template.rb' 
require './html_template.rb' 

fromLabel = "***** *******" 
fromAddress = "****@mail.*******.com" 
toAddress = "[email protected]*******.net" 
subject = "Hello" 

cmd = "curl -s --user 'api:key-*******' https://api.mailgun.net/v3/mail.*****.com/messages -F from='" + fromLabel + " <" + fromAddress + ">' -F to='" +toAddress + "' -F subject='" + subject + "' -F text='" + $message + "'" + " '+ --form-string html=' " + $htmlMessage + "'" 

system (cmd) 

這是第一個幫助文件:

#message_template.rb 
$message = "Hello, this is a plaintext message." 

而第二個輔助文件:

#html_template.rb 
$htmlMessage = "Hello, this is a HTML message with <a href="https://www.stackoverflow.com">link</a>." 

回答

1

一旦你把轉義字符到字符串

$htmlMessage = "Hello, this is a HTML message with <a href=\"https://www.stackoverflow.com\">link</a>." 

試試這個:

cmd = "curl -s --user 'api:key-*******' https://api.mailgun.net/v3/mail.*****.com/messages -F from='#{fromLabel} <#{fromAddress}>' -F to='#{toAddress}' -F subject='#{subject}' -F text='#{$message}' --form-string html='#{$htmlMessage}'" 
+0

是改變了以下結果,改變錯誤代碼: 'SH:-c:0行:意外的EOF而尋找匹配''」 SH:-c:第1行:語法錯誤:文件意外結束' – HMLDude

+0

@pweslow請參閱編輯 – Ruslan