Если вы запускаете этот код на локальном сервере (т.е. на вашем компьютере в целях разработки), он не отправит электронное письмо получателю. Что произойдет, это создаст файл .txt
в папке с именем mailoutput
.
В случае, если вы используете бесплатную службу хозингирования, такую как 000webhost
или hostinger
, эти поставщики услуг отключают функцию mail()
, чтобы предотвратить непреднамеренное использование спуфинга электронной почты, рассылки спама и т. Д. Я предпочитаю, чтобы вы свяжитесь с ними, чтобы узнать, поддерживают ли они эту функцию.
Если вы уверены, что поставщик услуг поддерживает функцию mail (), вы можете проверить это руководство PHP для получения дополнительной справки, PHP mail ()
Чтобы проверить, поддерживает ли ваш хостинг сервис. поддержите функцию mail (), попробуйте запустить этот код, (не забудьте изменить адрес электронной почты получателя)
Надеюсь, это помогло.
Распаковать тип значения можно только в его исходный тип (и версию этого типа, допускающую значение NULL).
Между прочим, это действительно так (просто сокращение для вашей двухстрочной версии):
object i = 4;
decimal d = (decimal)(int)i; // works even w/o decimal as it's a widening conversion
По причине, стоящей за этим, прочтите эту запись в блоге Эрика Липперта: Представление и идентичность
Лично я категоризирую вещи выполняется с помощью синтаксиса приведения в четыре различных типа операций (все они имеют разные инструкции IL):
box
инструкция IL) и распаковка ( unbox
инструкция IL) dynamic_cast
в C ++, для проверки используется инструкция IL castclass
) static_cast
на C ++, существует множество инструкций IL для различных типов приведения типов между примитивными типами) op_XXX
). Нет проблем с преобразованием int
в десятичное
, но когда вы распаковываете объект, вы должны использовать точный тип, который объект содержит .
Чтобы распаковать значение int
в десятичное
значение, сначала нужно распаковать его как int, а затем преобразовать в десятичное:
decimal d = (decimal)(int)reader[0];
Интерфейс IDataRecord также имеет методы для распаковка значения:
decimal d = (decimal)reader.GetInt32(0);