Сайн уу. Миний графомани хөгжиж байгаа тул би өөр нийтлэл нэмэхээр шийдсэн. Нийтлэл нь урьдын адил C # хэл дээрх жишээнүүдийн дагуу байх болно, гэхдээ илүү их эсвэл бага чадвартай VB "schnik" VB.NET-ийн доорх бүх кодыг амархан дахин бичих болно.
Магадгүй эхэлцгээе
Учир нь и-мэйл илгээхБид гурван объектыг ашиглах хэрэгтэй. Мессеж илгээхийн тулд System.Net.Mail.SmtpClient, мессежийг илэрхийлэхийн тулд System.Net.Mail.MailMessage, зөвшөөрөл олгохын тулд System.Net.NetworkCredential.
Үйлчлүүлэгч үүсгэцгээе:
Var client = new SmtpClient("$Mail-Server-Address$", $Mail-Server-Port$);
бүтээгчийн лавлагаа:
SmtpClient(string хост, int порт);
MailMessage ангийн жишээг үүсгэцгээе:
Var msg = new MailMessage("from", "to");
Одоо захидлын сэдэв, агуулгыг тохируулъя (Дашрамд хэлэхэд бүх зүйлийг бүтээгч дээр тохируулж болно). Түүнчлэн smtp клиентийн нэвтрэх болон нууц үг. Дараа нь бид үйлчлүүлэгчийн объектын Илгээх аргыг ашиглан имэйл илгээх болно:
Var client = new SmtpClient("smtp.yandex.ru"); var msg = new MailMessage("from", "to"); msg.Subject = "Миний туршилтын зурвас"; msg.Body = "Сайн уу, найз минь! Би зүгээр л хэд хэдэн товшилтоор энэ утгагүй захидлыг танд тэрбум удаа илгээх гайхалтай програм бичсэн гэж төсөөлөөд үз дээ!"; msg.SubjectEncoding = Encoding.UTF8; msg.BodyEncoding = Encoding.UTF8; // тэргүүлэх msg. Priority = MailPriority.High; // html дээр мессежийн хэсэг? msg.IsBodyHtml = худал; client.Credentials = new NetworkCredential("нэвтрэх", "нууц үг"); client.Send(msg);
Тэгээд л болоо. Шаардлагатай бүх мэдээллийг зөв оруулахаа мартуузай.
Сэтгэгдэл()
ruslang02 30
CoolHacker, би энэ кодыг вэб хөтчийн 3-р хэсэгт зориулж чамаас зээлж болох уу?
Coolhacker 770 ruslang02 30Баярлалаа, би үүнийг цахим шуудангаар линк илгээхэд ашиглах болно
Firefox дээрх шиг
Төрөл бүрийн үйлчилгээг ашиглан имэйл илгээх
- .net,
Маш олон удаа та илгээх асуудалтай тулгардаг имэйлүүд-аас програмын код. Та холоос жишээ хайх шаардлагагүй.
Энэ нийтлэл нь сануулга бөгөөд шинэ зүйл илрээгүй, гэхдээ үүнийг бичихээсээ өмнө би Интернетэд үүнтэй төстэй харагдаж байсан бөгөөд бараг хаа сайгүй тэд ажиллахгүй эсвэл хуучирсан шийдлийг санал болгодог эсвэл зүгээр л бичиг үсэг тайлагдаагүй байдлаар бичсэнд их гайхсан.
Эдгээр жишээн дээр хамгийн түрүүнд хийх ёсгүй зүйл бол удаан хугацааны туршид хуучирсан System.Web.Mail-г ашиглах явдал юм. харааны студи 2010 он. System.Web номын санг мэдэхгүйгээр нэмэх боломжгүй бүрэн замхаргалзах DLL руу.
Харин үүний оронд System.Net номын санг ашиглахыг санал болгож байна.
System.Net ашиглах; System.Net.Mail ашиглах;
Тиймээс, хамгийн энгийн, бас хамгийн чухал бөгөөд байнга хэрэглэгддэг нь таны захидал илгээх явдал юм шуудангийн сервер SMTP клиентийг тохируулсан. Таны ойлгож байгаагаар сервер нь програм ажиллаж байгаа эсвэл нэмэлт зөвшөөрөлгүйгээр захидал илгээх эрхтэй алсын сервер байж болно.
Дотоод машинаас имэйл илгээх жишээ код:
Gmail, Yandex, Mail.ru гэх мэт мэйл үйлчилгээг ашиглах. бүх зүйл адилхан, зөвхөн зөвшөөрөлтэй параметрүүдийг нэмсэн.
SMTP сервер: smtp.gmail.com
Порт: 587
ашиглан (MailMessage мм = шинэ MailMessage("Нэр
SMTP сервер: smtp.yandex.ru
Порт: 25
ашиглан (MailMessage мм = шинэ MailMessage("Нэр
SMTP сервер: smtp.mail.ru
Порт: 25
ашиглан (MailMessage мм = шинэ MailMessage("Нэр
Танд байгаа бол Шуудангийн хайрцаг mail.ru үйлчилгээ нь inbox.ru, list.ru эсвэл bk.ru гэсэн хаягаар дуусч, дараа нь SMTP серверийн хаяг (smtp.inbox.ru, smtp.list.ru болон smtp.bk.ru) өөрчлөгдөнө.
Таны харж байгаагаар бусад имэйлийн үйлчилгээг програмдаа ашиглахын тулд та зөвхөн SMTP серверийн хаяг, порт, мөн зөвшөөрлийн дүрмийг олж мэдэх хэрэгтэй.
Бараг бүх гуравдагч талын цахим шуудангийн үйлчилгээ нь тодорхой хугацаанд илгээсэн имэйлийн тоонд хязгаарлалт тавьдаг гэдгийг санах нь зүйтэй.
Шошго: имэйл, имэйл илгээх, smtp
Сайт дээрх хамгийн их эрэлт хэрэгцээтэй функцүүдийн нэг бол өргөдөл эсвэл захиалгын маягт бөгөөд өгөгдлийг сайт эзэмшигчийн шуудангаар илгээдэг. Дүрмээр бол ийм маягтууд нь энгийн бөгөөд өгөгдөл оруулах хоёр буюу гурван талбараас бүрдэнэ. Ийм захиалгын маягтыг хэрхэн үүсгэх вэ? Энэ нь HTML тэмдэглэгээний хэл болон хэлийг ашиглах шаардлагатай болно PHP програмчлал.
HTML тэмдэглэгээний хэл нь өөрөө энгийн бөгөөд та тодорхой хаягуудыг хэрхэн, хаана байрлуулахаа олж мэдэх хэрэгтэй. PHP програмчлалын хэлээр бүх зүйл арай илүү төвөгтэй байдаг.
Программист ийм маягт үүсгэх нь тийм ч хэцүү биш боловч HTML кодлогчийн хувьд зарим үйлдлүүд хэцүү мэт санагдаж магадгүй юм.
HTML илгээх маягт үүсгэж байна
Эхний мөр нь дараагийнх байх болно
Одоо бүгдийг нь нэгтгэе.
Одоо маягтын талбаруудыг заавал байлгахыг зөвшөөрье. Бидэнд дараах код байна:
HTML маягтаас өгөгдөл хүлээн авах файл үүсгэ
Энэ нь send.php нэртэй файл байх болно
Файлд, эхний шатанд та шуудангийн массиваас өгөгдлийг хүлээн авах хэрэгтэй. Үүнийг хийхийн тулд бид хоёр хувьсагч үүсгэдэг:
$fio = $_POST["fio"];
$email = $_POST["имэйл"];
Php хэл дээрх хувьсагчийн нэрсийн өмнө $ тэмдэг байх ба мөр бүрийн төгсгөлд цэг таслал тавьдаг. $_POST нь маягтын өгөгдлийг дамжуулдаг массив юм. Html хэлбэрт send method="post"-ыг зааж өгсөн болно. Тиймээс хоёр хувьсагчаас авсан html хэлбэрүүд. Сайтаа хамгаалахын тулд та эдгээр хувьсагчдыг хэд хэдэн шүүлтүүрээр дамжуулах хэрэгтэй - php functions.
Эхний функц нь хэрэглэгчийн маягтанд нэмэхийг оролдох бүх тэмдэгтүүдийг хөрвүүлнэ.
Энэ тохиолдолд php-д шинэ хувьсагч үүсгэхгүй, харин одоо байгаа хувьсагчдыг ашигладаг. Шүүлтүүрийн хийх зүйл бол тэмдэгтийг хувиргах явдал юм "<" в "<". Также он поступить с другими символами, встречающимися в html коде.
Хоёрдахь функц нь хэрэглэгч маягт руу нэмэхийг оролдвол URL-г тайлдаг.
$fio = urldecode($fio);
$мэйл = urldecode($имэйл);
Гурав дахь функцийн тусламжтайгаар бид мөрийн эхэн ба төгсгөлд байгаа зайг арилгах болно.
$fio = засах ($fio);
$мэйл = тайрах($имэйл);
Php хувьсагчдыг шүүх боломжтой өөр функцууд байдаг. Тэдгээрийн хэрэглээ нь халдагчид html шуудан руу өгөгдөл илгээх энэ хэлбэрт програмын код нэмэхийг оролдохоос хэр их айж байгаагаас хамаарна.
HTML маягтаас PHP файл руу дамжуулсан өгөгдлийг баталгаажуулна уу
Энэ код ажиллаж байгаа эсэхийг шалгахын тулд өгөгдөл дамжуулагдаж байгаа бол echo функцийг ашиглан дэлгэцэн дээр зүгээр л харуулах боломжтой.
echo $fio;
цуурай "
";
echo $email;
Энд хоёр дахь мөр нь php хувьсагчийн гаралтыг өөр өөр мөрөнд хуваахад шаардлагатай.
Хүлээн авсан өгөгдлийг HTML маягтаас PHP ашиглан шуудан руу илгээх
Мэйл рүү өгөгдөл илгээхийн тулд та PHP дахь шуудангийн функцийг ашиглах хэрэгтэй.
mail("ямар хаяг руу илгээх вэ", "захидлын сэдэв", "Мессеж (захидлын хэсэг)","Хэнээс: захидал аль имэйлээс илгээгддэг \r\n");
Жишээлбэл, та сайтын эзэмшигч эсвэл менежерийн имэйл рүү өгөгдөл илгээх хэрэгтэй [имэйлээр хамгаалагдсан]
Имэйлийн сэдэв нь тодорхой байх ёстой бөгөөд имэйлийн мессеж нь HTML маягт дээр хэрэглэгчийн заасан зүйлийг агуулсан байх ёстой.
шуудан(" [имэйлээр хамгаалагдсан]", "Сайтын програм", "Нэр:".$fio.". Имэйл: ".$email ,"Хэнээс: [имэйлээр хамгаалагдсан]\r\n");
Та маягтыг заасан имэйл хаяг руу PHP ашиглан илгээсэн эсэхийг шалгах нөхцөлийг нэмэх шаардлагатай.
хэрэв (мэйл(" [имэйлээр хамгаалагдсан]", "Сайтын захиалга", "Нэр:".$fio.". Имэйл: ".$email ,"Хэнээс: [имэйлээр хамгаалагдсан]\r\n"))
{
echo "мессеж амжилттай илгээгдсэн";
) өөр (
}
Тиймээс HTML маягтын өгөгдлийг шуудан руу илгээх send.php файлын програмын код дараах байдалтай байна.
$fio = $_POST["fio"];
$email = $_POST["имэйл"];
$fio = htmlspecialchars($fio);
$мэйл = htmlspecialchars($имэйл);
$fio = urldecode($fio);
$мэйл = urldecode($имэйл);
$fio = засах ($fio);
$мэйл = тайрах($имэйл);
//echo $fio;
// цуурай "
";
//echo $email;
хэрэв (мэйл(" [имэйлээр хамгаалагдсан]", "Сайтын програм", "Нэр:".$fio.". Имэйл: ".$email ,"Хэнээс: [имэйлээр хамгаалагдсан]\r\n"))
("мессеж амжилттай илгээгдсэн" цуурай;
) өөр (
echo "мессеж илгээх явцад алдаа гарсан";
}?>
Файл руу өгөгдөл дамжуулагдаж байгаа эсэхийг шалгах гурван мөрөнд тайлбар хийсэн. Шаардлагатай бол тэдгээрийг арилгах боломжтой, учир нь тэдгээр нь зөвхөн дибаг хийхэд шаардлагатай байсан.
HTML болон PHP маягтын илгээх кодыг нэг файлд байрлуул
Энэ нийтлэлд бичсэн сэтгэгдэлд олон хүн HTML маягт болон шуудан руу өгөгдөл илгээх PHP кодыг хоёр биш, нэг файлд хэрхэн оруулах талаар асуудаг.
Энэ ажлыг хэрэгжүүлэхийн тулд та формын HTML кодыг send.php файлд байрлуулж, POST массив дахь хувьсагч байгаа эсэхийг шалгах нөхцөлийг нэмэх хэрэгтэй (энэ массивыг маягтаас дамжуулсан). Өөрөөр хэлбэл, массив дахь хувьсагч байхгүй бол та хэрэглэгчдэд маягт харуулах хэрэгтэй. Үгүй бол та массиваас өгөгдлийг авч, хүлээн авагч руу илгээх хэрэгтэй.
send.php файл дахь PHP кодыг хэрхэн өөрчлөхийг харцгаая.
//POST массивт хувьсагч байгаа эсэхийг шалгана
if(!isset($_POST["fio"]) ба !isset($_POST["имэйл"]))(
?> ) өөр (
//маягтыг харуулах
$fio = $_POST["fio"];
$email = $_POST["имэйл"];
$fio = htmlspecialchars($fio);
$мэйл = htmlspecialchars($имэйл);
$fio = urldecode($fio);
$мэйл = urldecode($имэйл);
$fio = засах ($fio);
$мэйл = тайрах($имэйл);
хэрэв (мэйл(" [имэйлээр хамгаалагдсан]", "Сайтын програм", "Нэр:".$fio.". Имэйл: ".$email ,"Хэнээс: [имэйлээр хамгаалагдсан]\r\n"))(
echo "Зурвас амжилттай илгээгдсэн";
) өөр (
echo "Зурвас илгээх явцад алдаа гарлаа";
}
}
?>
Бид POST массив дахь хувьсагч байгаа эсэхийг PHP isset() функцээр шалгадаг. Нөхцөл дэх энэ функцийн өмнөх анхаарлын тэмдэг нь үгүйсгэх гэсэн үг юм. Өөрөөр хэлбэл, хэрэв хувьсагч байхгүй бол бид хэлбэрээ харуулах хэрэгтэй. Хэрэв би анхаарлын тэмдэг тавиагүй бол нөхцөл нь шууд утгаараа "хэрэв байгаа бол маягтыг харуул" гэсэн утгатай болно. Мөн энэ нь манай тохиолдолд буруу юм. Мэдээжийн хэрэг, та үүнийг index.php болгон өөрчилж болно. Хэрэв та файлын нэрийг өөрчлөх юм бол файлын нэр болон мөрөнд нэрийг нь өөрчлөхөө бүү мартаарай