Для тех, кто находит это в будущем, я бы не рекомендовал использовать mail
. Есть несколько ответов, которые касаются этого, но не из-за этого.
Функция PHP mail
не только непрозрачна, но и полностью зависит от того, какой MTA вы используете (то есть Sendmail) для выполнения этой работы. mail
ТОЛЬКО скажет вам, не удалось ли MTA принять его (т. е. Sendmail не был отправлен, когда вы пытались отправить). Он не может сказать вам, была ли почта успешной, потому что она была передана. Как таковой (как детали ответов Джона Конде), вы теперь можете возиться с журналами MTA и надеяться, что он расскажет вам об отсутствии возможности исправить его. Если вы находитесь на общем хосте или не имеете доступа к журналам MTA, вам не повезло. К сожалению, по умолчанию для большинства ванильных инсталляций для Linux обрабатывается так.
Почтовая библиотека ( PHPMailer , Zend Framework 2+ и т. д.) делает что-то очень отличное от mail
. То, что они делают, это открыть сокет непосредственно на принимающем почтовом сервере, а затем отправить SMTP-почтовые команды непосредственно через этот сокет. Другими словами, класс действует как собственный MTA (обратите внимание, что вы можете сказать библиотекам использовать mail
, чтобы в конечном итоге отправить почту, но я настоятельно рекомендую вам не делать этого).
Что это означает, что вы можете непосредственно видеть ответы с принимающего сервера (например, в PHPMailer вы можете включить вывод отладки ). Больше не гадать, если почта не была отправлена или почему.
Если вы используете SMTP (то есть вы вызываете
isSMTP()
), вы можете получить подробную расшифровку протокола SMTP, используя свойствоSMTPDebug
.Установите этот параметр, включив в свой скрипт такую строку:
blockquote>$mail->SMTPDebug = 2;
Вы также получаете преимущество лучшего интерфейса. С помощью
Решение этой проблемы постоянно меняется с течением времени, когда Unity и Android SDK меняются.
Обратите внимание, что его проблема, по-видимому, исправлена в Unity 2017.1.
ПОСЛЕДНЕЕ РЕШЕНИЕ
1) Для Windows загрузите "tools_r25.2.3-windows.zip" и разархивируйте его.
2) Для MacOSX загрузите "tools_r25. 2.3-macosx.zip " и разархивируйте его.
3) Добавьте путь распакованного SDK к настройкам Edit -> ] ---> Внешние инструменты ---> SDK box.
STILL NOT WORKING?
Удалить SDK Tools 25 и Android SDK Tools 26. Удалить как SDK Platform-Tools, так и SDK Tools. Используйте номер версии ниже.
OLD SOLUTION:
Вы не правильно настроили SDK .
Для настройки Android SDK выполните следующие действия.
1. Убедитесь, что в SDKpath нет пробелов. Поэтому создайте папку с именем AndroidSDK
в каталоге C
.
2. Скопируйте папку Android-sdk
в каталог C:/AndroidSDK
.
Теперь ваш путь к SDK должен выглядеть так:
C:/AndroidSDK/Android-sdk
3. Обновите свой Android SDK-путь в редакторе Unity.
Теперь проверьте, работает ли это, пытаясь снова создать для Android.
Если это не удается, продолжайте снизу
4. Загрузите последнюю версию Unity.
5. Перезагрузите SDK , затем скопируйте файл в C:/AndroidSDK/Android-sdk
.
6. Вернитесь в Unity и обновите путь
7. Создайте проект для Android еще раз, он покажет ошибку и попросит вас обновить SDK.
Нажмите кнопку «Обновить Android SDK». Unity автоматически обновит ваш SDK. Затем ваш SDK должен выглядеть как-то внизу. Ваша проблема должна быть удалена.
JAVA_HOME
,ANDROID_HOME
,ANDROID_NDK_HOME
и обновитьPATH
. См. этот ответ . – Mike Henry 11 April 2018 в 01:03