2017-03-23 27 views
0

我已經創建了一個測驗,但想知道在向用戶輸入電子郵件時如何開始。用戶在測驗開始前使用javascript輸入姓名

基本上我希望用戶在他們開始測驗之前輸入他們的名字,然後一旦他們完成測驗,結果將通過使用Javascript的電子郵件發送給我。

這可能嗎?

+1

是的,這是可能的,你可以顯示你迄今爲止嘗試過嗎? –

回答

-1

你不能用普通的JavaScript發送電子郵件,據我所知,你需要有一個服務,後端或PHP文件..

例如這個PHP文件:

<?php 

header('Content-type: application/json'); 

$errors = ''; 

if(empty($errors)) 
{ 
    $from_name = $_POST['name']; 
    $from_email = $_POST['email']; 
    $message = $_POST['message']; 

    $to_email = '[email protected]'; 
    $to_email_cc = $from_email; 

    $contact = "<p><strong>Name:</strong> $from_name</p> 
      <p><strong>Email:</strong> $from_email</p>"; 
    $content = "<p>$message</p>"; 

    $email_subject = "Neue Nachricht von $from_name erhalten"; 
    $email_subject_cc = "Deine Nachricht wurde gesendet"; 

    $email_body = '<html><body>'; 
    $email_body .= "$contact $content"; 
    $email_body .= '</body></html>'; 

    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
    $headers .= "From: $my_email\n"; 
    $headers .= "Reply-To: $from_email"; 

    mail($to_email,$email_subject,$email_body,$headers); 
    mail($to_email_cc,$email_subject_cc,$email_body,$headers); 

    $response_array['status'] = 'success'; 
    echo json_encode($response_array); 
} else { 
    $response_array['status'] = 'error'; 
    echo json_encode($response_array); 
} 
?> 

,然後你可以做對了一條信息,例如角度,jQuery的或類似這樣的其他.. 東西:

postEmail(newMail: Email): Observable<string>{ 
    let body = `name=${newMail.name}&email=${newMail.email}&message=${newMail.message}`; 
    let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' }); 
    let options = new RequestOptions({ headers: headers }); 

    return this._http.post(this._contactUrl, body, options) 
        //.map(res => <string> res.json()) 
        .catch(this.handleError) 
    } 

這是angular2我寫一次,一些舊的代碼nd沒有經過測試,但它應該讓你知道如何去做。