我使用Azure的應用服務託管的PHP網站。我是Azure和PHP的新手(對於這個問題一般編程)。作爲一個起點,我一直在關注一組PHP教程。我目前使用的教程要求我使用PHP郵件功能,但是這樣做會失敗,並且從我讀過的內容來看,這是因爲我需要在使用Azure託管網站時使用SendGrid郵件服務。
所採取的步驟:
首先,我從Azure的市場安裝SendGrid。然後,我將Composer安裝到我的項目目錄('wwwroot'),然後安裝依賴關係。我嘗試在'composer.json'文件中使用'sendgrid/smtpapi'和'sendgrid/sendgrid-php'作爲依賴關係。安裝顯示成功,「Vendor」文件夾(在「wwwroot」中)更新爲「Composer」和「SendGrid」的文件。
我嘗試了一些代碼示例,SendGrid但最後決定用下面(似乎簡單)的一個堅持
// using SendGrid's PHP Library
// https://github.com/sendgrid/sendgrid-php
require 'vendor/autoload.php';
$sendgrid = new SendGrid("SENDGRID_APIKEY");
$email = new SendGrid\Email();
$email->addTo("[email protected]")
->setFrom("[email protected]")
->setSubject("Sending with SendGrid is Fun")
->setHtml("and easy to do anywhere, even with PHP");
$sendgrid->send($email);
**問題:**錯誤」。當我查看詳細的錯誤日誌時,出現了另一個錯誤「HTTP錯誤404.0 - 未找到」。
我知道,由郵件腳本所需的文件「供應商/ autload.php」確實存在
當我運行的網站的郵件腳本以「突破500.0 - 內部服務器,我可以從看到它FTP門戶。但是,如果我嘗試通過'Kudu'網站瀏覽'Vendor'文件夾,會發生「Session Expired」錯誤(奇怪的是它只發生在這個特定的文件夾中)。 Internet Explorer開發人員工具顯示的「403次禁止進一步的錯誤 - 拒絕訪問」
結論:
這是我的結論是,郵件腳本突破,因爲它無法訪問從所要求的文件‘供應商’文件夾。然而,我不知道爲什麼或如何解決這個問題。任何建議將不勝感激。
對不起,一些東西似乎出現在「問題」部分的第一段: 當我運行網站的郵件腳本與'500.0 - 內部服務器錯誤'打破.... – Claire