PHP将文件附加到电子邮件

时间:2011-10-21 18:49:17

标签: php forms email-attachments

我希望能够将文件附加到外发电子邮件中。我有一个代码如何在一个名为upload.php的单独文件中执行此操作,但我想知道是否可以将它全部放在index.php中,因为索引是表单操作指向的位置。我只是不确定将它放在索引中的位置以便它可以工作......

此代码来自index.php(其中$ action = send-message)的部分:

case 'send-message':
    if(send_message($to, $cc, $subject, $message)) {
      echo "<p style=\"padding-bottom: 100px\">Message sent!</p>";
    } else {
      echo "<p style=\"padding-bottom: 100px\">Could not send message.</p>";
    }
break;

然后我有以下代码,它显示了一个新消息的表单(output.php):

  <table cellpadding="4" cellspacing="0" border="0" width="<?php echo $table_width; ?>">
  <form action="index.php?action=send-message" method="post">
  <tr>
    <td bgcolor="#cccccc">To Address:</td>
    <td bgcolor="#cccccc">
      <input type="text" name="to" value="<?php echo $to; ?>" size="60" />
    </td>
  </tr>
  <tr>
    <td bgcolor="#cccccc">CC Address:</td>
    <td bgcolor="#cccccc">
      <input type="text" name="cc" value="<?php echo $cc; ?>" size="60" />
    </td>
  </tr>
  <tr>
    <td bgcolor="#cccccc">Subject:</td>
    <td bgcolor="#cccccc">
      <input type="text" name="subject" value="<?php echo $subject; ?>" size="60" />
  </tr>
  <tr>
    <td bgcolor="#cccccc">Upload a file:</td>
    <td bgcolor="#cccccc">
      <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
      <input type="file" name="userfile" id="userfile"/>
      <input type="submit" value="Attach File">
    </td>
  </tr>
  <tr>
    <td colspan="2" bgcolor="#cccccc">
      <textarea name="message" rows="10" cols="72"><?php echo $message; ?></textarea>
    </td>
  </tr>
  <tr>
    <td colspan="2" align="center" bgcolor="#cccccc">
      <?php display_form_button('send-message'); ?>
    </td>
  </tr>
  </form>
  </table>

我希望这是有道理的并且不会太混乱!谢谢你的帮助!

1 个答案:

答案 0 :(得分:-1)

我不会将所有这些逻辑放在一个页面中。尝试将其分成不同的php文件来执行特定的操作。也不要滚动自己的邮件类等。使用强大的东西,如Zend_Mail

在不了解您的项目的情况下,我可以获得尽可能多的帮助。