2015-12-21 32 views
6

私は3つのテキストボックスとこのようなボタンを持つ単純なページを持っています。ionicアプリでメールを送信

<input type="text" ng-model="name" required > 
<input type="text" ng-model="city" required > 
<input type="text" ng-model="country" required > 



<button class="button button-block button-royal ExploreBtn" ng-click="sendMail();"> 
Send mail    
</button> 

角度JS /イオンに対象として最初のテキスト・フィールドの値でメールを送信するためにどのように、私を助け、身体などの他の2。

+1

このためにバックエンドが必要です。 JSだけではできません。 – dfsq

+0

メールを送信するには、SMTPサーバーが必要です。 –

答えて

1

基本的に、あなたの質問に対するコメントは正しい - JavaScriptでこれを行うことはできません。バックエンドサービスを使用する必要があります。

ここで、sendMail関数で行うことは、Angularsの$httpサービスを使用してサービスを呼び出すことです。 official documentationから$ httpサービスの詳細を知ることができます。

コールは、例えば次のようになります。ここでは

$http({ 
    method: 'POST', 
    url: 'http://your.server.com/sendmail.php', 
    data: { mailTo: '[email protected]', msg: 'hello!' } 
}).then(function successCallback(response) { 
    alert("msg sent!"); 
}, function errorCallback(response) { 
    alert("error with sending a msg"); 
}); 

次の2つの重要な部分があります。

  • url - (最終的には電子メールを送信します)あなたのサービスが配置されている
  • data - このサービスエンドポイントに何を送っていますか?

私の例では、サービスURLをsendmail.phpとしました。これは最終的にPHPで書かれています。あなたのバックエンドサービスはあなたが慣れ親しんだサーバーサイドの言語で書くことができることを強調しなければなりません(このトピックをさらに調査する場合はRESTful servicesについてさらに読んでください)。

この例のために、電子メールを送信するためにmail functionを使用してPHPスクリプト(無担保とちょうど参照用)はこのようなものになります。

<?php 

$to = $_POST["emailTo"]; 
$msg = $_POST["msg"]; 

mail($to, "Some test subject", $msg); 

?> 

希望を、これは明確な混乱を支援。

+0

こんにちは..私はPHPの知識がゼロです。テキストボックスに従ってmsgの値を動的に変更する方法を教えてください。 –

+0

これは基本的にPHPとは関係ありません。 Ionic(Angular)アプリケーションからメッセージを送信しているので、 ''のような 'msg'モデルを持つ別の入力ボックスを追加し、 'data:{mailTo: '[email protected]'、msg:$ scope.msg}' – Nikola

+0

説明してくれてありがとう。それを受け入れる:) –