2017-09-14 93 views
0

我目前得到這個:它去一個URL如何與發送AJAX接觸形式給收件人的電子郵件地址

$.ajax({ 
    url: '/some/url', 
    dataType: 'json', 
    type: 'POST', 
    data: formData, 
    success: function(data) { 
    if (window.confirm('Thank you for your message. Can I erase the form?')) { 
    document.querySelector('.form-input').val(''); 
    } 
}, 
error: function(xhr, status, err) { 
    console.error(status, err.toString()); 
    alert('There was some problem with sending your message.'); 
} 
}); 

相反,我能怎樣改變直接發送到特定的電子郵件地址?我正在使用這個聯繫表單和我創建的React應用程序。

+0

能否請您發表您的後端代碼,其中URL指向? – KondukterCRO

+0

它並沒有指出任何東西,不知道什麼是用React做到這一點的最佳方式。我只是希望它發送到一個電子郵件地址。 – Sadie

+0

首先你使用的jquey ajax不是反應的最佳實踐。 其次,我想告訴你如何發送它與你的後端,所以你會做一個url的url請求,當url被「執行」的郵件將被髮送。 – KondukterCRO

回答

-1

您需要打開電子郵件對話是這樣的:

 window.location.href = `mailto:?&subject=your 
     subject&body=${...your post data items}`; 
+0

我在哪裏可以在上面的代碼?對不起還是很新的。不確定最好的方式來做到這一點。 – Sadie

+0

@Sadie在那裏你需要發送電子郵件,如果你不會在瀏覽器中做到這一點 –

+0

對不起,仍然困惑。 @Artem – Sadie

0

等反應過來組件,基於類。

class Foo extends Component { 
    popupQuestion() { 
     // implement method 
    } 
    sendEmail() =() => { 
     axios.post('/some/url', { 
      subject: 'mail', 
      to: '[email protected]', 
      body: 'something', 
      name: 'name' 
     }) 
     .then(function (response) { 
      popupQuestion(); 
     }) 
     .catch(function (error) { 
      console.log(error); 
      return 'Error occurred. Please refresh page and try again.'; 
     }); 
    } 
    render() { 
     return(
      <form onSubmit={this.sendEmail}> 
       // ... 
      </form> 
     ); 
    } 
} 

和PHP的方法,將一些被執行/ URL

public function sendEmailAction(): bool 
{ 
    $request = // get request; 
    $subject = $request->get('subject'); 
    $to = $request->get('to'); 
    $body = $request->get('body'); 
    $name = $request->get('name'); 
    $transport = (new Swift_SmtpTransport('smtp.example.org', 25)) 
     ->setUsername('your username') 
     ->setPassword('your password'); 
    $mailer = new Swift_Mailer($transport); 
    $message = (new Swift_Message($subject)) 
     ->setFrom(['[email protected]' => 'me']) 
     ->setTo([$to => $name]) 
     ->setBody($body); 
    $sent = $mailer->send($message); 
    return $sent ? true : false; 
} 
相關問題