2015-01-29 1 views
0

Я пытаюсь отправить почту из своего приложения с помощью сервера Node.js. Я хотел бы отправить «от» до «и» содержимое письма на сервер, и он отправит электронное письмо этому человеку.Отправить текст (электронную почту) из приложения iOS с помощью сервера Node.js

Я нашел Nodemailer, чтобы использовать для отправки электронной почты, но как я могу отправить данные (из, в контент) из моего приложения на сервер? Я пишу свое приложение в Свифт.

EDIT:
Вот мой код приложения:

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() 

} 

Я называю эту функцию с параметрами, такими как электронная почта, From, To, и содержание, и отправить их на сервер Nodejs. Каким будет правильный код для сервера для обработки объекта JSON (отправить письмо) и вернуть «Успех» или «Сбой»? Как я могу использовать объект JSON в коде сервера?

+0

вы должны показать код, который вы пробовали для подсоединения веб-сервис, представленный сервером и объяснить, что не работает – Wain

+0

дело в том, что я полный новичок в прошивкой и связи клиент-сервер в целом. Мне нужен совет, с чего начать и как подключиться к серверу. Можете ли вы просто поставить меня в правильном направлении, как я могу общаться с сервером (какие функции/api/etc можно использовать)? – n0ne

+0

Вы должны действительно искать в Google учебник по подключению к веб-сервису от iOS и работать оттуда, а затем принести определенные проблемы SO – Wain

ответ

1

Nodemailer имеет API, который показывает вам, как иметь дело с тиром модулем, все, что вам нужно сделать, это просто proividing этих деталей (от, до, содержания) на сторону сервера и обрабатывать его таким образом,

var nodemailer = require('nodemailer'); 
// in case your using gmail as your mail serivce. 
var transporter = nodemailer.createTransport({ 
    service: 'gmail', 
    auth: { 
     user: '[email protected]', 
     pass: 'password' 
    } 
}); 
transporter.sendMail({ 
    from: '[email protected]', 
    to: '[email protected]', 
    subject: 'hello', 
    text: 'hello world!' 
}); 
2
in Node 

/*Config mailer*/ 
    var nodemailer = require('nodemailer'); 
    var transporter = nodemailer.createTransport({ 
     service: 'gmail', 
     auth: { 
     user: '[email protected]', 
     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: '[email protected]', 
     to: '[email protected]', 
     cc: '[email protected]', 
     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) {}];