繁体   English   中英

使用Node.js服务器从iOS应用发送文本(电子邮件)

[英]Send text(email) from iOS app using Node.js server

我正在尝试使用Node.js服务器从我的应用程序发送邮件。 我想将电子邮件的“从”,“至”和“内容”发送到服务器,然后他将电子邮件发送给该人。

我发现Nodemailer可用于发送电子邮件,但是如何将数据(从,到,内容)从我的应用程序发送到服务器? 我正在用Swift编写我的应用程序。

编辑:
这是我的应用程序代码:

func post(params: Dictionary<String,String>, url:String) {
    var request = NSMutableURLRequest(URL: NSURL(string: url)!)
    var session = NSURLSession.sharedSession()
    request.HTTPMethod = "POST"

    var err:NSError?
    var jsonObject = NSJSONSerialization.dataWithJSONObject(params, options: .PrettyPrinted, error: &err)

    request.HTTPBody = jsonObject
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    request.addValue("application/json", forHTTPHeaderField: "Accept")

    var task = session.dataTaskWithRequest(request, completionHandler: { (data,response,error)-> Void in

        println(response)

    })
    task.resume()

}

我使用电子邮件,发件人,收件人和内容等参数调用此函数,然后将它们发送到Nodejs服务器。 服务器处理JSON对象(发送电子邮件)并返回“成功”或“失败”的正确代码是什么? 如何在服务器代码中使用JSON对象?

in Node 

/*Config mailer*/
    var nodemailer = require('nodemailer');
    var transporter = nodemailer.createTransport({
      service: 'gmail',
      auth: {
        user: 'xxx@gmail.com',
        pass: 'yyyy'
      }
    });


Create Function 

    function MSGEmail(MSG) {
      // send the message and get a callback with an error or details of the message that was sent
      transporter.sendMail({
        from: 'sender@address',
        to: 'xx@gmail.com',
        cc: 'yy@gmail.com',
        subject: 'Auto Email From server',
        text: MSG
      });
    }



    //Register Event

    client.on('SEND_MSG', function(data, callback) {
      sendEmail(data); //handle msg and pass to funcation
      callback();
    });

    // iOS (ObjC)


    [APPCONTEXT.socketIOHandler.socketIO sendEvent: KEY_SEND_MSG withData: dictionary
      andAcknowledge: ^ (id argsData) {
        if (argsData) {}];

Nodemailer有一个API,向您展示如何处理该模块,您所要做的只是向服务器端提供这些详细信息(从,到,到内容)并以这种方式进行处理,

var nodemailer = require('nodemailer');
// in case your using gmail as your mail serivce.
var transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'sender@gmail.com',
        pass: 'password'
    }
});
transporter.sendMail({
    from: 'sender@address',
    to: 'receiver@address',
    subject: 'hello',
    text: 'hello world!'
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM