2016-04-18 19 views
0

私はEMAIL行を持つMySQL DBを持っています。
ユーザーは検索を実行し、関連情報は<table>形式(住所1、住所2、電話番号、ファックス、電子メールなど)で表示されます。
<tabel>の最後の列には「電子メール」ボタンがあり、クリックするとその電子メールアドレスに自動電子メールが送信されます。MYSQLのアドレスに電子メールを送信

私は実際に私のために働くここで1つの記事を見つけましたが、DB内の全員に電子メールを送信します。特定の行だけに電子メールを送信するには、このPHPをどのように変更できますか?ここで

は、私が見つけたものです:

mysql_connect('localhost', 'mysql_user', 'mysql_password') or 
    die("Could not connect: " . mysql_error()); 
mysql_select_db("mydb"); 

$result = mysql_query("SELECT email FROM mytable"); 

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    sendMail($row[0]); 
} 
mysql_free_result($result); 

function sendMail($to){ 
$subject = 'AC the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
  1. 追加/ DBテーブル内の個々の行に電子メールを送信するためにそれを交換しますか?
  2. 私のGmailアカウントにこのコードで送信されたメールが「[email protected] ip-XXX-XXX-XXX-XXX.yyyyyyyyyyy.zzzz.net」(これは私のサーバーのIPです) ....それはそれのように見えるのですか?

私はそれは(それがない)右のレコードを拾っかどうかを確認するために、このコードに以下を追加しました:電子メールが送信され

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

     echo 'email has been sent to: ' . $to . '<br/>'; 
    } 

た後、それは私に戻って、すべての電子メールアドレスをリストメールアドレスはメールを受信します...

私はあなたの助けに感謝します!

+3

ユーザ名やユーザIDのように電子メールを送信する個々のユーザを識別するためのデータが必要です。「SELECT email from mytable WHERE userid」のように、dbクエリをより具体的にすることができます。 = '136'; ' – larsAnders

+3

' mysql_ * '関数を使うコード例は、古くなったものと古くなったもの、または品質が悪いものとして安全に破棄することができます。すべての新しいプロジェクトには、PDOまたはmysqliを使用する必要があります。 – Mike

答えて

1

1:DB TABLEの個々の行に電子メールを送信するには、何を追加/置換する必要がありますか? あなたは、特定のユーザーの電子メールを取得するために、条件付きクエリを追加することができますように:

SELECT email FROM mytable where <your condition> 

2:私は、送信者を見ることができますGmailアカウントにこのコードにより送信された電子メールがある:「[email protected] IP-XXX- XXX-XXX-XXX.yyyyyyyyyyy.zzzz.net "(これは私のサーバーのIPです)....なぜそれはそのように見えますか?

デフォルトでは、サーバーの既定の電子メールアドレスが表示されます。このアドレスも更新できます。 Change outgoing mail address from [email protected] - rackspace sendgrid postfix

関連する問題