我使用Parse.com(JavaScript SDK),我希望用戶能夠從我的應用程序發送電子郵件。基本上,他們使用應用程序創建一個頁面,然後我需要允許他們輸入一個電子郵件地址列表;該應用程序會發送每個地址鏈接到他們創建的頁面。我的Parse.com應用程序如何發送電子郵件?
雖然我可以在文檔中找到任何告訴我如何發送電子郵件的內容。我可以把電子郵件地址列表和生成電子郵件,我只是不知道如何發送它。
這是可能與解析,如果是這樣,任何人都可以指向我的方向正確嗎?
謝謝!
我使用Parse.com(JavaScript SDK),我希望用戶能夠從我的應用程序發送電子郵件。基本上,他們使用應用程序創建一個頁面,然後我需要允許他們輸入一個電子郵件地址列表;該應用程序會發送每個地址鏈接到他們創建的頁面。我的Parse.com應用程序如何發送電子郵件?
雖然我可以在文檔中找到任何告訴我如何發送電子郵件的內容。我可以把電子郵件地址列表和生成電子郵件,我只是不知道如何發送它。
這是可能與解析,如果是這樣,任何人都可以指向我的方向正確嗎?
謝謝!
沒有本地方法來做到這一點。你最好的選擇是等到Parse's Cloud Code支持第三方HTTP請求。我做的,你怎麼能做到這一點使用鐵工+紅寶石發送電子郵件快速的樣機,但你當然可以使用其他語言:通過一些雲
哪一個是最好的? :) –
@ M.Y。 mandrill .. – SuperUberDuper
但解析有它自己的庫發送電子郵件。他們在驗證電子郵件「打開」時發送電子郵件的方式。沒有任何方法可以訪問它? – lxknvlk
我創建了一個簡單的iOS例子在這裏,使用山魈,並解析雲代碼 http://www.stlplace.com/2013/11/24/send-email-via-cloud-code-in-parse/
感謝您的寫作。在我的Android實施中爲我節省了一些時間。乾杯! – ninehundredt
這裏是@ uudaddy的回答
public void sendMail(View view) {
Map<String, String> params = new HashMap<>();
params.put("text", "Sample mail body");
params.put("subject", "Test Parse Push");
params.put("fromEmail", "[email protected]");
params.put("fromName", "Source User");
params.put("toEmail", "[email protected]");
params.put("toName", "Target user");
ParseCloud.callFunctionInBackground("sendMail", params, new FunctionCallback<Object>() {
@Override
public void done(Object response, ParseException exc) {
Log.e("cloud code example", "response: " + response);
}
});
}
服務器端JS代碼的Android版本(main.js )解析雲
Parse.Cloud.define("sendMail", function(request, response) {
var Mandrill = require('mandrill');
Mandrill.initialize('12AkxxxxxxxxxxxxxxrZEg');
Mandrill.sendEmail({
message: {
text: request.params.text,
subject: request.params.subject,
from_email: request.params.fromEmail,
from_name: request.params.fromName,
to: [
{
email: request.params.toEmail,
name: request.params.toName
}
]
},
async: true
},{
success: function(httpResponse) {
console.log(httpResponse);
response.success("Email sent!");
},
error: function(httpResponse) {
console.error(httpResponse);
response.error("Uh oh, something went wrong");
}
});
});
有人可能會發現使用Mailgun,iOS和Parse Cloud的有用示例。
因爲Mandril目前只有4k免費郵件,所以我決定和Mailgun一起去。
請注意,您必須有權訪問您的域名才能設置「TXT」和「CNAME」記錄,證明Mailgun您是域名的所有者。
雲代碼:
// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:
Parse.Cloud.define("hello", function(request, response) {
response.success("Hello world!");
});
Parse.Cloud.define("mailSend", function(request, response) {
var Mailgun = require('mailgun');
Mailgun.initialize('DOMAIN_NAME', 'API_KEY');
Mailgun.sendEmail({
to: request.params.target,
from: request.params.originator,
subject: request.params.subject,
text: request.params.text
}, {
success: function(httpResponse) {
console.log(httpResponse);
response.success("Email sent!");
},
error: function(httpResponse) {
console.error(httpResponse);
response.error("Uh oh, something went wrong");
}
});
});
在ObjC項目
現在的地方:
[PFCloud callFunctionInBackground:@"mailSend"
withParameters:@{
@"target": @"[email protected]",
@"originator": @"[email protected]",
@"subject": @"Hey There",
@"text": @"This is your iOS originated mail"
}
block:^(NSString *result, NSError *error){
NSLog(@"error %@", error);
NSLog(@"result %@", result);
}];
如何添加TXT和CNAME記錄?和哪裏? –
您可以將它們添加到託管服務提供商管理面板中。未經購買/獲得託管,您不能使用此功能。 –
我的回答停止投票。下面的應該是被接受的答案。 – user94154