2016-04-22 8 views
-4

私はphpのスクリプトに取り組んでいます。私は特定のアドレスにメールを送りたいと思います。フォームを提出することなくPHPで電子メールを送信するには?

<?php 
$to = "[email protected], [email protected]"; 
$subject = "HTML email"; 

$message = " 
<html> 
<head> 
<title>HTML email</title> 
</head> 
<body> 
<p>This email contains HTML Tags!</p> 
<table> 
<tr> 
<th>Firstname</th> 
<th>Lastname</th> 
</tr> 
<tr> 
<td>John</td> 
<td>Doe</td> 
</tr> 
</table> 
</body> 
</html> 
"; 

// Always set content-type when sending HTML email 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

// More headers 
$headers .= 'From: <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 

mail($to,$subject,$message,$headers); 
?> 

ですので、誰でも私に電子メールアドレスを送信する方法を教えてください。

+0

クリックしないでも手段を提出しないで? – Jalpa

+3

CRONJOBが必要 –

+0

ページリフレッシュまたはcronファイルにコードを追加する。 – Jalpa

答えて

0

フォームの送信時にスクリプトを実行しないようにするには、2つのオプションがあります。

このページへのリンクをアプリケーションの別のページに配置してください。

<a href="path-to-your-mail-sending-file">Send Email</a> 

または別のPHPスクリプトからこのページにリダイレクト:それはあなたが使用する必要がデフォルトmail機能

+0

アンカーをクリックすると、フォームが送信されます。リダイレクトはフォームを送信するか、実際にはPHPを実行するためにフォームが提出されたものと見なされます。 – RiggsFolly

+0

はい、これらのメソッドはフォームを必要としません。フォームから実行することなく、PHPページにリダイレクトすることができます。私はOPがフォームを使わないようにしたいと思う。少なくともそれは私が質問を理解する方法です。 – dimlucas

0

よりカスタマイズ性と信頼性であるよう

header("Location: path-to-your-mail-sending-file"); 

また、あなたはPHPMailerを使用することを検討すべきです特定の時間にトリガーされるcronjob。 ホスティングは、あなたが使用することができ、cronジョブへのアクセスを提供していない場合は、次の

https://www.setcronjob.com/

0

は、Ajax

$(document).load(function() 
    { 
     $.ajax({ 
      url: send_email.php, 
      type:'POST', 
      data: 
      { 
       email: email_address, 
       message: message 
      }, 
      success: function(msg) 
      { 
       alert('Email Sent'); 
      }    
     }); 
    }); 

で試してみてくださいは、「あなたはドンsend_email.php

+0

**でもエラーメッセージを出さなくても動作しないかもしれませんが** cruxster

+1

nandhakumar:あなたは今、厄介な虫の缶を開けました。サーバー上で実行するPHPコードを含めて、この男のためのスクリプト全体を今作成する必要があります。あなたが約1時間で完了したときに彼が実際にあなたの答えを受け入れることを迷惑にならないように、 – RiggsFolly

+0

phpmail fuctionで点検してください。それに誤りがあるかもしれません – Nandhakumar

1

てください電子メールのコードを入れて電子メールを送信するためのフォームが必要です。関数を呼び出すことによって

mail($to,$subject,$message,$headers); 

自動的に電子メールを送信します。フォームは、送信したい情報を収集するために使用されます。 $to$subject$message、および$headersして、関数を使用する:あなたはすでに情報を持っている場合は、あなたがしなければならないすべてはあなたの4つの変数に情報を記入している

mail($to,$subject,$message,$headers); 

はそれが助け場合、私に教えてください! :)

関連する問題