php form Gmail'i gönderin

7 Cevap php

Ben sitemize kurulum anonim bir geri bildirim formu bir proje var. Ben php ile ona gitmek istedim

genel bir fikir geri besleme ve bir düğme için bir alan (bizim çalışanlarımıza vermek) bir parola alanı olurdu olduğunu

Ive Bu kod parçacığını gördük

<?php
$to = "recipient@example.com";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
if (mail($to, $subject, $body)) {
  echo("<p>Message successfully sent!</p>");
 } else {
  echo("<p>Message delivery failed...</p>");
 }
?>

Bu yüzden oturum ve e-posta sunucusu gerekir (i yok yere açık bir sunucu değilse) Ama (benim durumumda sunucu Gmail'in) ben sadece e-posta göndermek değil ki benim sınırlı anlayış e-posta sistemleri ile oldukça emin im

bu yüzden bu nasıl yapardın?

update:

the code above does work but it doesn't come from a corporate account we currently use Google biz apps and that's why I would like to log on to a Google server to send this out.

7 Cevap

Eğer uygun bir web host üzerinde komut çalıştırıyorsanız eğer giden posta göndermek için, onlar her şeyi kurdunuz olacak. Gerçekten orada gösterildiği gibi basittir.

Eğer evde bir sunucu çalıştırıyorsanız eğer ISS'ler genellikle ISS aracı sunucular aracılığıyla dışında posta göndermek eve hesaplarını bloke gibi şeyler, biraz daha karışıktır.

php mail () aslında e-posta göndermek için sistemin posta sistemini kullanacaktır. Ev sahibi bir linux taban sistemi kullanıyorsa, çoğu zaman bu sendmail olduğunu. Daha önce belirttiğimiz gibi, birçok ev sahibi zaten bu sizin için kurdunuz

See mail() requirements

Sizin anlayış biraz sınırlı gibi görünüyor; her yerde internete bağlı bir mail "adil göndermek" için mükemmel mümkündür.

Eğer bir Linux sunucu üzerinde iseniz, düzgün kurmak posta sunucusu ile, verilen örnek iyi çalışacaktır. Eğer iyi bir web barındırma iseniz, o iyi olacak.

Eğer bir geliştirme makine üzerinde iseniz, yerel bir posta sunucusu kurmak ve başka bir posta sunucusu üzerinden e-posta göndermek için posta sunucusu yapılandırabilirsiniz. Genellikle denir ... Akıllı ana, ben düşünüyorum. Çoğu Linux posta sunucuları (exim, postfix, ne olursa olsun) bu şekilde yapılandırılabilir. Ben de bu şekilde bir Windows makinede bir posta sunucusu kurmak ve yapılandırmak gibi eminim. Xampp bir tane var, sanırım.

Aslında PHP kullanarak bir e-posta sunucusuna doğrudan e-posta göndermek isterseniz, bir kütüphane kullanabilirsiniz. Şahsen, ben SwiftMailer kullanmak istiyorum.

http://swiftmailer.org/ http://phpmailer.worxware.com/

Onlar yerine sadece yerel posta sunucusu yerine, istediğiniz herhangi bir SMTP sunucusu kullanmak için izin verirsiniz.

Sizin kod Spam istismar, en iyi açık hiçbir giriş filtreleme varsa SwiftMailer gibi bir üçüncü taraf mailler

Sunucusu sizin için yapılandırıldı ise genellikle sadece () posta kullanabilirsiniz.

Sunucudan GMail üzerinden e-posta göndermek için, Gmail'in posta sunucusuna (MTA), SMTP ile e-posta göndermek gerekiyor.

Mail () fonksiyonu SMTP kullanın veya sunucu üzerinde sendmail ikili kullanmak için yapılandırılabilir. O bunu yapmak için web barındırma sormak en iyisidir. Eğer kendiniz yapmak istiyorsanız bu sizin php.ini gerektirir.

Sendmail e-posta göndererek bir komut satırı arayüzü olan bir deamon olduğunu. (Not: tüm e-postalar SMTP yoluyla gönderilir, sendmail sadece sizin için bu biraz yapar).

You will first need to configure your sendmail program with the google mail server authentication method, and your username and password. This is specific to the sendmail program you use. Then you need to configure PHP to use your sendmail program via PHP.ini. If you need specific instructions it can be posted.

Ben google TLS gerektirir ve PHP.ini içine koyamazsınız kimlik doğrulama parametreleri (kullanıcı / pass) beri, bu durumda doğrudan SMTP kullanmak için PHP yapılandırma sanmıyorum.

Not: PHP dokümanlar sendmail linux için ve SMTP sadece pencereler için olduğunu belirtin. Bu doğru değildir. Sen sendmail kullanmak için windows üzerinde PHP yapılandırmak ve linux SMTP kullanmak olabilir. Sen sadece sendmail bir windows sürümüne ihtiyacınız olabilir, ve linux dolayısıyla gerçekten bunun için SMTP gerekmez, varsayılan olarak sendmail ile geliyor. Onun kuyruğuna postayı katacak beri PHP tek dişli ve tamamlamak için SMTP işlem için beklemek zorunda iken, sendmail, genellikle daha iyi bir seçimdir.