Вот моя версия:
/* Convert a hex char digit to its integer value. */
int hexDigitToInt(char digit) {
digit = tolower(digit);
if ('0' <= digit && digit <= '9') //if it's decimal
return (int)(digit - '0');
else if ('a' <= digit && digit <= 'f') //if it's abcdef
return (int)(digit - ('a' - 10));
else
return -1; //value not in [0-9][a-f] range
}
/* Decode a hex string. */
char *decodeHexString(const char *hexStr) {
char* decoded = malloc(strlen(hexStr)/2+1);
char* hexStrPtr = (char *)hexStr;
char* decodedPtr = decoded;
while (*hexStrPtr != '\0') { /* Step through hexStr, two chars at a time. */
*decodedPtr = 16 * hexDigitToInt(*hexStrPtr) + hexDigitToInt(*(hexStrPtr+1));
hexStrPtr += 2;
decodedPtr++;
}
*decodedPtr = '\0'; /* final null char */
return decoded;
}
Эй парни благодарят за ответы, это действительно ценится.
После игнорирования проблемы в течение нескольких месяцев это подошло снова, я действительно однако находил ответ на свои проблемы.
Во-первых, как Вы отвечаете предложенный, PHP и почта (), функция работала как ожидалось. Почта становилась отправленной.
Проблема заключается, когда электронное письмо послано, это просто предполагает, что, потому что то, что это было отправленным от mydomain.com до электронной почты *@mydomain.com, что сама электронная почта размещается на том же сервере, таким образом, это отправляется туда вместо этого и игнорирует запись MX.
Хорошо это немного более сложно, чем это, но это - общий jist.
Править: Найденный лучшей версией темы sendmail и MX записывает, когда почтовый сервер не находится на веб-хосте.
Да. Это будет работать просто великолепно. У меня есть Сценарий PHP с помощью почты () функция с набором записей MX к Google Apps.
Если эти два сценария находятся на различных хостах (это немного неясно из Вашего сообщения), то удостоверьтесь, что хост не блокирует некоторые пользовательские заголовки. У меня были проблемы с этим, когда создание моего сценария, но удаление всех кроме От заголовка решило проблему.
Некоторые хосты (Godaddy хуже) блокируют Ваше использование sendmail и почты ().
Я обычно использую smtp для отправки электронных писем из моих php приложений, и с PHPMailer это супер легко. Много приложений используют более старые версии PHPMailer и иногда обновляют его, может помочь. Также достаточно легко добавить быстро к коротким сценариям также.
mail()
функция отправляет почту от сервера, размещающего сценарий. Так как многие общие поставщики услуг хостинга размещают серверы отдельного почтового отправления, и потому что mail()
функция не поддерживает вида аутентификации, многие общие поставщики услуг хостинга блокируют его.
Если сайт использует SPF, не забудьте включать передающий сайт в свою запись SPF. Поскольку больше информации видит здесь.
Да, Вы могли вставить то, что когда-либо Вы хотите в 'от' поля, и оно все еще работало бы.