SSL:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl
TLS:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
Затем выполните php artisan config:cache
Для пароля Gmail используйте пароль приложения. Сгенерировать пароль приложения
Проверьте Как сгенерировать пароль приложения по заданной ссылке.
function loadJSInclude(scriptPath, callback)
{
var scriptNode = document.createElement('SCRIPT');
scriptNode.type = 'text/javascript';
scriptNode.src = scriptPath;
var headNode = document.getElementsByTagName('HEAD');
if (headNode[0] != null)
headNode[0].appendChild(scriptNode);
if (callback != null)
{
scriptNode.onreadystagechange = callback;
scriptNode.onload = callback;
}
}
И использовать (я использовал swfObject в качестве примера):
var callbackMethod = function ()
{
// Code to do after loading swfObject
}
// Include SWFObject if its needed
if (typeof(SWFObject) == 'undefined')
loadJSInclude('/js/swfObject.js', callbackMethod);
else
callbackMethod();
Возможно, вы захотите взглянуть на jsloader: http://www.jsloader.com/
Gaia Ajax делает это (я знаю, так как я реализовал его - я - исходный основатель), и они - GPL. Таким образом, если Вы не боитесь, что они предъявят иск Вам (они - FUDding меня с судебными процессами теперь), Вы могли бы хотеть проверить, как они делают это. Базовая технология должна ввести тег script с помощью DOM, когда сценарий необходим. Хотя необходимо заботиться НЕ ссылочному материалу в этом файле, прежде чем он будет закончен, загружаясь (который происходит асинхронно),
Решение той проблемы (одно решение) состоит в том, чтобы сложить переменную у основания файла и использовать рекурсивные вызовы метода setTimeout, чтобы проверить, определяется ли переменная, и задержите выполнение кода в зависимости от файла, заканчиваемого, загрузившись, пока та "нижняя часть файла JS" переменная не определяется...
Мы на самом деле также отследили который файлы, где включено путем добавления хешированного значения имен файлов в скрытое поле на странице. Это означает, что мы никогда не заканчивали включая тот же файл больше затем однажды...
Довольно изящный на самом деле...
вы можете загружать скрипт динамически, добавив тег в дерево DOM.
Google AJAX APIs обеспечивает динамическую загрузку для API JavaScript Google. Существует пример загрузки Карт JS, по запросу в документации:
function mapsLoaded() {
var map = new google.maps.Map2(document.getElementById("map"));
map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 13);
}
function loadMaps() {
google.load("maps", "2", {"callback" : mapsLoaded});
}