خب اینم از API یی که گفتید، کدشو زدم،
همین منظورتون بود یا روش دیگه ای؟
کد سمت C# : تابع ارسال دیتا به صفحه وب، که یه داده با نام API داره ( که همون پسورد هستش، برا این که هر ننه قمری نتونه داده ارسال کنه به صفحه وب من
)، و داده هایی با نام : نام/ایمیل/عنوان/پیغام؛ که خب کاربر اگه دوست داشت اسمشو و ایمیلشو وارد میکنه ( دقیقا مثل قسمت نظرات سایت ها و وبلاگ ها )، عنوان پیغامشو وارد کنه و محتوای پیغامشو وارد میکنه.
private string SendDataToWebpage() {
string response = "";
try
{
string url = "https://dmf313.ir/IslamicApp/index.php";
string dataStr = string.Format("API={0}&Name={1}&Email={2}&Title={3 }&Message={4}", "Z4s!JF6b3?Ycu4!$", "Mahdi", "1@2.3", "Test Title", "Test Message");
byte[] dataByte = Encoding.UTF8.GetBytes(dataStr);
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = dataByte.Length;
// send data
using (Stream webpageStream = webRequest.GetRequestStream())
{
webpageStream.Write(dataByte, 0, dataByte.Length);
}
// read response
using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse())
{
using (StreamReader reader = new StreamReader(webResponse.GetResponseStream()))
{
response = reader.ReadToEnd();
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
Debug.WriteLine("response = " + response);
return response;
}
کد سمت وب ( PHP ) : اگه API یا همون پسورد صحیح بود ( که خب همیشه صحیح هستش چون خودم کدشو نوشتم
)، میاد داده های فوق رو به ایمیل از قبل تعریف شده در کد PHP، ارسال میکنه؛ یه متنی هم به عناون پاسخ ارسال میکنه سمت برنامه C# تا نرم افزارمون چشم به راه نمونه
<?php$Pass = "Z4s!JF6b3?Ycu4!$"; // API [ Password ]
$Response = "";
$EmailTo = "mahdedamarchi@gmail.com"; // Send email to this address!
// Read Data
$API = $_POST["API"];
$Name = $_POST["Name"];
$EmailFrom = $_POST["Email"];
$Title = $_POST["Title"];
$Message = $_POST["Message"];
// if password correct -> Send Email
if ($API == $Pass)
{
$content = "<p style=' font-size: 16px; ' ><span style=' font-weight: bold; color: red; font-size: 18px; '>نام : </span>".$Name."</p>".
"<p style=' font-size: 16px; ' ><span style=' font-weight: bold; color: red; font-size: 18px; '>ایمیل : </span>".$EmailFrom."</p>".
"<p style=' font-size: 16px; ' ><span style=' font-weight: bold; color: red; font-size: 18px; '>عنوان : </span>".$Title."</p>".
"<p style=' font-size: 16px; ' ><span style=' font-weight: bold; color: red; font-size: 18px; '>پیغام : </span>".$Message."</p>";
$headers = "From: wordpress@dmf313.ir" . "\n" . "Content-Type: text/html; charset=UTF-8" . "\r\n";
if (filter_var($EmailTo, FILTER_VALIDATE_EMAIL)) { // this line checks that we have a valid email address
$status = mail($EmailTo, $Title, $content, $headers); // This method sends the mail.
if( $status == true ) {
$Response = "Email Send";
}
else {
$Response = "Error Send Email";
}
}
else {
$Response = "Incorrect Email";
}
}
else
{
$Response = "API is inCorrect";
}
// Send Response
echo $Response;
?>
نتیجه : اینم یه عکس از نمونه ایمیل ارسال شده :
Untitled.png
سوال : 1) همین منظورتون بود؟ 2) این کدهای من مشکلی چیزی ندارن؟ مخصوصا از نظر امنیتی! 3) نظری پیشنهادی چیزی بود حتما بگید لطفا.