2012-12-14 95 views
6

我想知道是否有任何選項可以更改使用MailApp.sendEmail發送的電子郵件的FROM地址。使用sendEmail時可以更改發件人地址嗎?

我已經構建了一個作爲Web App發佈的表單。學生填寫並提交表格,並收到電子郵件。我看到如何更改電子郵件的回覆地址和發件人姓名。我知道這封電子郵件使用我的地址作爲發件人地址,因爲我是該腳本的所有者,該應用以我身份運行。

有沒有辦法將發件人地址設置爲屬於另一個人,在這種情況下,指導員?我假設有一種方法可以實現這一點,那就是讓他成爲劇本的擁有者,並通過爲我們重新發布應用程序來引導他,但我寧願不把它交給他。 (從我所看到的,只有腳本所有者纔可以發佈該腳本。)

換句話說,我希望From地址代表正在爲其創建腳本的客戶端,而不是正在編寫腳本的程序員。

據我所知,允許腳本從太陽下的任何人發送電子郵件是不理想的功能。我只是想知道如果有人有建議如何解決我的問題。

謝謝!

回答

3

谷歌在這一點上不靈活 - 唯一的「發件人」地址,你可以看到是屬於權限運行腳本的用戶。

除了作爲「程序員」運行,您可以使用「機器人」Google帳戶,如[email protected]。您可以像自己一樣開發腳本,然後從機器人重新發布它們。

在Google Apps域中,您的管理員可以創建該僞訂用戶並編輯設置,以便將其隱藏在Google Apps目錄中(如果需要的話)。

學生收到的電子郵件不會來自他們的老師,但它也不會從您那裏收到。

+4

通過在可選參數中使用{from:'[email protected]'},您實際上可以使用任何設置爲運行腳本帳戶別名的電子郵件。這並不能解決這裏要求的用例,但很好理解。 –

+0

'{from:'[email protected]'}'對我沒有任何影響,未在https://developers.google.com/apps-script/reference/上記錄mail/mail-app :-( – Bosh

8

如果使用GMailApp.sendMail(而不是MailApp.sendEmail),你可以從作爲一個可選的附加參數指定: https://developers.google.com/apps-script/reference/gmail/gmail-app#sendEmail(String,String,String,Object)

我相信你只能指定您已經有配置您的Gmail帳戶的別名。

+0

)您是否確認此操作?我有一個合法的別名設置,儘管在from域中使用它,但它仍然通過我的主帳戶發送。 – Rikki

+0

當您單擊Reply時,它是否填充字段與正確的/預期的地址? – chrisb

+0

僅僅因爲我設置replyTo:字段(這似乎工作:-) – Rikki

4

是的,你可以,它很容易。如果您有多個別名,請使用日誌來確定陣列中的哪個位置。然後測試你有正確的陣列位置在日誌中使用。

var aliases = GmailApp.getAliases() 
Logger.log(aliases); //returns the list of aliases you own 
Logger.log(aliases[0]); //returns the alias located at position 0 of the aliases array 

GmailApp.sendEmail('[email protected]','From an alias', 'A message from an alias!', {'from': aliases[0]}); 
+3

該請求是「從另一個人發送」,別名不是另一個人,這不是一個有效的答案。 –

+1

此外,在上面的評論中已經提到了這個問題。 –

+1

那麼如果用戶打算將電子郵件作爲另一個人發送,我認爲他們會授予他們別名的權利。 – mickolasjae

0

我想建立chrisb's answer above,但我不允許尚未就此發表評論......

正如chrisb說:

  1. 只是形式在帳戶中創建一個allias。
  2. 使用Gmail.App將電子郵件從「您」創建的別名發送出去。

然後寫谷歌Apps的腳本來處理髮送至該別名的電子郵件,使得從教練的電子郵件出現在您的收件箱,而是從其他人的郵件被轉發到教師用「的replyTo」字段設置爲任何人發來的電子郵件。

相關問題