php mail函数发送电子邮件(可带附件)

(可带附件<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"

 代码如下 复制代码

"http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>php mail函数发送电子邮件(可带附件)</title>
</head>

<body>
<?php
 // you might need to change this line, if you do not use
 // the default ports, 80 for normal traffic and 443 for ssl
 if($_server['server_port']!=443)
   echo '<p><font color = red>
            warning: you have not connected to this page using ssl. 
            your message could be read by others.</font></p>';
?>

<form method = post action = "send_private_mail.php"><br>
your email address:<br>
<input type = text name = from size = 38><br>
subject:<br>
<input type = text name = title size = 38><br>
your message:<br>
<textarea name = body cols = 30 rows = 10>
</textarea><br>
<input type = submit value = "send!">
</form>
</body>
</html>

send_private_mail.php文件

 代码如下 复制代码

<?php
  //create short variable names
  $from = $_post['from'];
  $title = $_post['title'];
  $body = $_post['body'];

  $to_email = 'luke@localhost';

  // tell gpg where to find the key ring
  // on this system, user nobody's home directory is /tmp/
  putenv('gnupghome=/tmp/.gnupg');
 
  //create a unique file name
  $infile = tempnam('', 'pgp'); 
  $outfile = $infile.'.asc';

  //write the user's text to the file
  $fp = fopen($infile, 'w');
  fwrite($fp, $body);
  fclose($fp);

  //set up our command
  $command =  "/usr/local/bin/gpg -a \
               --recipient 'luke welling <luke@tangledweb.com.au>' \
               --encrypt -o $outfile $infile";

  // execute our gpg command
  system($command, $result);

  //delete the unencrypted temp file
  unlink($infile);

  if($result==0)
  {
    $fp = fopen($outfile, 'r');   
    if(!$fp||filesize ($outfile)==0)
    {
      $result = -1;
    }
    else
    {
      //read the encrypted file
      $contents = fread ($fp, filesize ($outfile));
      //delete the encrypted temp file
      unlink($outfile);     

      mail($to_email, $title, $contents, "from: $from ");
      echo '<h1>message sent</h1>
            <p>your message was encrypted and sent.
            <p>thank you.';
    }
  }

  if($result!=0)
  {
    echo '<h1>error:</h1>
          <p>your message could not be encrypted, so has not been sent.
          <p>sorry.';
  }
 

/*
 
  */
?>)

时间: 2024-09-20 05:38:22

php mail函数发送电子邮件(可带附件)的相关文章

php mail()函数发送电子邮件代码

语法 mail(to,subject,message,headers,parameters)参数 描述 to 必需.规定 email 接收者. subject 必需.规定 email 的主题.注释:该参数不能包含任何新行字符. message 必需.定义要发送的消息.应使用 lf (n) 来分隔各行. headers 可选.规定附加的标题,比如 from.cc 以及 bcc. 应当使用 crlf (rn) 分隔附加的标题.   parameters 可选.对邮件发送程序规定额外的参数. */ $

php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法_php技巧

最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的.最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在.   1.使用 PEAR 的 Mail 类 PEAR 的 Mail 类可以让你选择使用 sendmail 或者 SMTP 方式发信,这样的包装好的接口很好用,你没有必要去自己重新发明轮子. 2.关于headers 中subject 的乱码 不要把任何除了 iso-8859-1 编码之外的

利用php中mail函数发送带有附件的邮件

mail函数,发送邮件 语法: mail(to,subject,message,headers,parameters) to 规定邮件的接收者 subject 规定邮件的主题.该参数不能包含任何换行字符 message 规定要发送的消息 headers 规定额外的报头,比如 From, Cc 以及 Bcc parameters 规定 sendmail 程序的额外参数. 碰到的主要问题是乱码问题,刚开始是某些客户端接收邮件时好(比如QQ邮箱,估计带自动那个识别编码)的有些不foxmail.ipad

Java封装好的mail包发送电子邮件的类_java

下面代码是利用Java mail包封装了一个发送邮件的类 import java.io.File; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Me

PHP Mail函数发送html格式邮件

windows系统下mail函数需要配置 1.从http://glob.com.au/sendmail/下载sendmail.zip 2.解压到C:下,例如C:\php\sendmail,最好短路径,长路径名有可能产生问题. 3.修改php.ini如下 sendmail_path = "C:\wamp\sendmail\sendmail.exe -t" 4.根据你自己的配置环境修改sendmail.ini. 第一次最好启用debug.log_file,error_logfile,以查看

php中mail函数发送文件失败解决办法

之前的那台服务器转移过来后,发现网站用mail()发送邮件发不了.但是发现sendmail明明已经安装. 如果没有安装sendmail可以执行  代码如下 复制代码 yum install sendmail 对了,主机名要设置一个域名格式的.例如:sangsir.com 不然重启sendmail的时候会特别久才启动起来.(否则要等很久)    代码如下 复制代码 hostname sangsir.com 接着看看sendmail是否正常运行    代码如下 复制代码 service sendma

三星I9300手机发送电子邮件中添加附件

 注意:如果要实现发送电子邮件功能,需要先设置好您的电子邮件账户才可以操作.设置邮件账户操作,请参考常见问题解答中的GT-I9300如何设置我的电子邮件账户.   1.在待机模式下,然后我们找到[应用程序]点击进入,如图.     2.然后我们找到[电子邮件]点击进入,如图.     3. 选择[新建邮件]图标.     4.选择[附件]图标,然后选择您要发送的项目.     5.上述操作添加完毕后,输入收件人和主题,然后点击信封加箭头图标,邮件就发送了.  

利用php中mail函数发送HTML邮件实例

例  代码如下 复制代码 <?php function send_mail($from, $to, $subject, $message) {     if ($from == "")     {         $from = '回忆未来 <webmaster@s135.com>';//发件人地址     }     $headers = 'MIME-Version: 1.0' . "rn";     $headers .= 'Content-t

PHPMailer发送HTML内容、带附件的邮件实例_php实例

PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能. 本文将结合实例代码,讲解如何设置和实现发送HTML以及带附件的邮件功能. 首先,您可以到PHPMailer获取最新的下载包,解压到WEB目录下. 然后建立一个sendmail.php的文件,载入PHPMailer类,并设置相关属性参数,如邮件服务器地址,发件人和收件人,邮件内容等等,详情