|
|
|
и не будет работать
Сам недавно мучился с этим оператором... Для того, чтобы все заработало, надо читать спецификацию MIME Во - первых, кавычка перед from СОВСЕМ необязательно и ее можно убрать Во - вторых, строку с boundary="..." надо либо соеденить с предыдущей строкой, либо поставить tab в ее начале (так как тип сообщения multipart/mixed, то значит оно состоит из нескольких частей - каждая часть отделяется от другой тем, что стоит в кавычках после boundary=, более того, все, что идет перед первой границей и после последней - игнорируется) В - третьих, к обозначению границы добавляются еще два знака тире, то есть если boundary="123", то части сообщения будут отделяться друг от друга строчкой --123 В - четвертых, тире после последней границы и апостроф в конце сообщения надо убрать В - пятых, оператор ^uuncode[] - НЕ ПРИМЕНЯЕТСЯ для вложения файла - он кодирует то, что дано ему вместо первого параметра и приписывает ему имя, стоящее на месте второго параметра. Для загрузки файла надо использовать ^upload[имя_поля;uuencode;^upload[имя_поля;name]] В - шестых, перед оператором загрузки файла, то есть во второй части сообщения НЕОБХОДИМО указать заголовок, что - то вроде:
Content-Type: application/octet-stream^; name="^upload[имя_поля;name]" Content-Disposition: attachment^; filename="^upload[имя_поля;name]" Content-Transfer-Encoding: uuencode
В - седьмых, после блока заголовков (причем так везде - как после глобальных заголовков, так и после заголовков для каждой части), необходимо вставлять пустую строку В - восьмых, внутри оператора ^sendmail[] (как впрочем и внутри любого оператора) знак ';' - это признак разделения параметров. Если этот знак нужен в тексте параметра, то его 'избегают' - '^;', таким образом в операторе ^sendmail[] нужно все знаки ';' предварить точкой с запятой В - девятых, в форме не указано поле action (хотя, быть может, упоминать об этом излишне)
В следующем послании приводится исправленный вариант программы
|