Редактировать: я только что заметил, что вы пытаетесь использовать адрес Gmail в качестве значения от. Это не сработает , и интернет-провайдер правильно его перезаписывает. Если вы хотите перенаправить ответы на исходящие сообщения, используйте reply-to
.
Обходной путь для действительных адресов, который работает со многими интернет-провайдерами:
попробуйте добавить пятый параметр в команду mail()
:
mail($to,$subject,$message,$headers,"-f your@email.here");
В C++ 20, можно использовать std::midpoint
:
template <class T>
constexpr T midpoint(T a, T b) noexcept;
бумага P0811R3, который представил std::midpoint
, рекомендовал этот отрывок (немного принятый для работы с C++ 11):
#include <type_traits>
template <typename Integer>
constexpr Integer midpoint(Integer a, Integer b) noexcept {
using U = std::make_unsigned<Integer>::type;
return a>b ? a-(U(a)-b)/2 : a+(U(b)-a)/2;
}
Для полноты, вот является неизмененный C++ 20 реализациями из бумаги:
constexpr Integer midpoint(Integer a, Integer b) noexcept {
using U = make_unsigned_t<Integer>;
return a>b ? a-(U(a)-b)/2 : a+(U(b)-a)/2;
}