में कर्ल के साथ PHP कॉल वर्तमान में मुझे एक एसएमटीपी सर्वर के रूप में Azure का उपयोग करने का प्रयास करने में समस्या आ रही है। मैं एक साधारण संपर्क फ़ॉर्म बनाने की कोशिश कर रहा हूं जो आपको भेजे जाने पर एक ईमेल भेजेगा। PHP कोड सरल है और किसी अन्य सर्वर पर काम करता है क्योंकि यह पिछले प्रोजेक्ट से है, लेकिन मुझे अब माइक्रोसॉफ्ट एज़ूर सर्वर का उपयोग करने की ज़रूरत है और जो मैंने पढ़ा है, उसे मुझे कर्ल या सेंडमेल एपीआई कॉल का उपयोग करने की ज़रूरत है। क्या कोई जानता है कि ऐसा कैसे करें क्योंकि मैं इसे काम करने के लिए प्रतीत नहीं कर सकता। इस कोड को माइक्रोसॉफ्ट का कहना है कि आप cURL काम करने के लिए प्राप्त करने के लिए उपयोग करने की आवश्यकता,विंडोज़ एज़ूर
// Generate curl request
$session = curl_init($request);
// Tell curl to use HTTP POST
curl_setopt ($session, CURLOPT_POST, true);
// Tell curl that this is the body of the POST
curl_setopt ($session, CURLOPT_POSTFIELDS, $params);
// Tell curl not to return headers, but do return the response
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
// obtain response
$response = curl_exec($session);
curl_close($session);
// print everything out
print_r($response);
मैं इस कल्पना बहुत सरल तो मैं देख सकता हूँ है, लेकिन पाने के लिए जहां वास्तव में मैं इस cURL कोड में मेरे php कोड रखूँ यह काम करने के लिए? क्या कुछ और चीज है जो मैं चीजों के अजीब पक्ष में भी लापता हूं? मेरे पास पहले से ही मेरे खाते पर sendmail स्थापित है जो मैंने कहा था कि मुझे चाहिए था। अगर यह मदद करता है
यहां किसी भी तरह अपना php कोड है
$url = 'https://api.sendgrid.com/';
$user = '[email protected]';
$pass = 'password7';
$params = array(
'api_user' => $user,
'api_key' => $pass,
'to' => '[email protected]',
'subject' => 'testing from curl',
'html' => 'testing body1',
'text' => 'testing body2',
'from' => '[email protected]',
);
$request = $url.'api/mail.send.json';
if ($_POST["submit"]) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$human = intval($_POST['human']);
$from = 'Contact Form';
$to = '[email protected]';
$subject = 'Message from Contact Form ';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
// Check if name has been entered
if (!$_POST['name']) {
$errName = 'Please enter your name';
}
// Check if email has been entered and is valid
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Please enter a valid email address';
}
//Check if message has been entered
if (!$_POST['message']) {
$errMessage = 'Please enter your message';
}
//Check if simple anti-bot test is correct
if ($human !== 5) {
$errHuman = 'Your anti-spam is incorrect';
}
// If there are no errors, send the email
if (!$errName || !$errEmail || !$errMessage || !$errHuman) {
if (mail ($to, $subject, $body, $from)) {
$result='<div class="alert alert-success">Thank You! I will be in touch</div>';
} else {
$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later</div>';
}
}
}
अपने 'curl_exec' के बाद इस जोड़े कुछ अतिरिक्त डिबग जानकारी पाने के लिए:' अगर (curl_errno ($ सत्र)) {गूंज 'कर्ल त्रुटि:'। curl_error ($ सत्र); } '। इसे अपने प्रश्न में जोड़ें और देखें कि क्या हम इस समस्या को हल कर सकते हैं। Http://php.net/manual/en/function.curl-errno.php – Tom
आपकी मदद के लिए धन्यवाद टॉम, मैं वास्तव में सप्ताह की शुरुआत में इसे काम करने में कामयाब रहा। मेरी कार्यप्रणाली (और गलतियों) की व्याख्या करने के लिए वहां पोस्ट के लिए एक उत्तर दें, मदद करने के आपके प्रयास की सराहना करें :) –