Отправка электронной почты из Flash / Actionscript 2.0

Это простое и довольно быстрое решение. Он перемещает все байты после заданного смещения в свою новую позицию в соответствии с данными extraBytes, поэтому вы можете вставлять свои данные.

public void ExpandFile(FileStream stream, long offset, int extraBytes)
{
  // http://stackoverflow.com/questions/3033771/file-io-with-streams-best-memory-buffer-size
  const int SIZE = 4096;
  var buffer = new byte[SIZE];
  var length = stream.Length;
  // Expand file
  stream.SetLength(length + extraBytes);
  var pos = length;
  int to_read;
  while (pos > offset)
  {
    to_read = pos - SIZE >= offset ? SIZE : (int)(pos - offset);
    pos -= to_read;
    stream.Position = pos;
    stream.Read(buffer, 0, to_read);
    stream.Position = pos + extraBytes;
    stream.Write(buffer, 0, to_read);
  }

Необходимо проверить, хотя ...

1
задан Austin 21 July 2010 в 15:02
поделиться

2 ответа

Если бы вы могли опубликовать точное изменение, которое хочет сделать ваш друг, это помогло бы ответить на ваш вопрос. Похоже, что вам просто нужно изменить адрес электронной почты.


Короткий ответ на ваш вопрос:

В этом коде есть некоторая путаница - определены и заполнены переменные, которые, как вы ожидаете, будут тем, что отправляется на сервер. НО, эти переменные не упоминаются позже, когда информация упаковывается в объект send_lv для отправки на сервер.

Если вам нужно изменить адрес электронной почты, на который отправляется письмо, измените send_lv.recipient = "user@website.com"; на send_lv.recipient = "newEmail@domain.com", или как угодно.

Вы можете изменить код, чтобы использовать переменную recipient, которая определена в верхней части кода, следующим образом:

send_lv.recipient = recipient;

Если вы сделаете это, то вам нужно изменить var recipient = "user@website.com"; на var recipient = "newEmail@domain.com";.


Более длинный ответ на ваш вопрос:

Прошло довольно много времени с тех пор, как я работал с AS2, но то, что делает код, который вы опубликовали, в целом, это сбор элементов электронного письма, а затем отправка этих элементов PHP-скрипту. PHP-скрипт использует полученные элементы для создания и отправки электронного письма. В данном случае письмо будет отправлено на user@website.com, с темой письма AP Form. Я предполагаю, что остальные элементы - имя, компания, email, телефон, и список вопросов (или ответов на вопросы, что более вероятно) будут использованы для построения тела письма.

Объект send_lv представляет информацию, которая будет отправлена на сервер. Он также является средством отправки информации на сервер (send_lv.sendAndLoad()). Метод sendAndLoad отправляет информацию на сервер и запрашивает ответ, который в данном случае вызывает функцию successWindow. В промежутке между отправкой информации и получением результата от сервера отображается окно выполнения.

Вы можете немного почитать об этом методе в документации LiveDocs. Она довольно информативна и объясняет разницу между методами sendAndLoad, send и load.

Надеюсь, это поможет.

1
ответ дан 2 September 2019 в 22:52
поделиться

возможно, кто-то может помочь мне понять, что именно он ПОСТАВЛЯЕТ

Он постит все переменные объекта send_lv (имя, компания, email и т.д.), конкатенированные как urlencoded string.

Если вам нужна переменная в бэкенд скрипте, просто определите ее в объекте send_lv и обратитесь к ней как к переменной post в php скрипте.

send_lv.dummy = "my new var"; //frontend

$dummy = filter_input('dummy', INPUT_POST); // in php script
1
ответ дан 2 September 2019 в 22:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: