我一直在努力为我的iMac(PHP mail()函数)提供一个非常基本的PHP 函数.
我已经无数次使用它,虽然在Windows平台上,现在我正试图让它在Mac上运行.
我安装XAMPP v1.01可能是因为我当时并不知道更好,我认为这一切都能正常工作,因为这就是应该做的.(或者我认为).
我试过以下几页说明无济于事:
首先,我没有条目:
MAILSERVER=-YES-在我的/ etc/hostconfig中,所以我创建了它.
我在php.ini中添加了sendmail的完整路径:sendmail_path = "/usr/sbin/sendmail -t -i"
我知道我不需要myhostname在/etc/postfix/main.cf中设置变量,因为我只打算发送没有接收它的邮件.(注意.我也尝试过启用此设置!)
我已经开始postfix然后尝试运行脚本,但脚本只是处理没有错误消息,它只是基本上看起来好像它正在工作但没有任何反应(我已经三次检查代码的脚本).
我注意到一些人的解决方案甚至没有提到必须为他们启动postfix守护进程才能让PHP mail()函数工作.
有什么想法或事情让我尝试?
如果您需要更多信息,请询问.
P.
我感觉有点尴尬,因为我使用PHP生成邮件正文而不会转义变量.在HTML中我使用htmlspecialchars()或类似函数,命令行escapeshellarg(),但对于邮件?例如这样的事情:
<?php
$usercontent = $_GET['usercontent'];
mail("dummy@nowhere.tld", "My Subject", "My body with $usercontent included");
?>
Run Code Online (Sandbox Code Playgroud)
一个可能的攻击者可能会对上面的脚本做什么,我怎么能防止这样的攻击呢?或者是PHP mail()保存,为什么?
更新
请参考示例:
嗨我想通过microsoft cmd控制台发送邮件.我尝试了很多方式,但我没有成功.
我试过这篇文章http://jpsoft.com/help/index.htm?sendmail.htm
sendmail "bob@bob.com bcc:joe@joe.com" Test Hello!
Run Code Online (Sandbox Code Playgroud)
错误是:
'sendmail' is not recognized as an internal or external command operable program or batch file
Run Code Online (Sandbox Code Playgroud)
和
本文:http://www.brighthub.com/office/collaboration/articles/21840.aspx#imgn_1
c:\>"c:\program files\microsoft office\office12\outlook.exe" /c ipm.note /m someone@gmail.com /a "c:\logs\logfile.txt"
Run Code Online (Sandbox Code Playgroud)
错误是:
the process can not access the file because it is being used by another proccess
Run Code Online (Sandbox Code Playgroud)
但它没有奏效.我不知道问题出在哪里或者问题是什么.
谢谢你的建议.
我有一个可以使用它在Laravel5上发送邮件的功能
/**
* Send Mail from Parts Specification Form
*/
public function sendMail(Request $request) {
$data = $request->all();
$messageBody = $this->getMessageBody($data);
Mail::raw($messageBody, function ($message) {
$message->from('yourEmail@domain.com', 'Learning Laravel');
$message->to('goper.zosa@gmail.com');
$message->subject('Learning Laravel test email');
});
return redirect()->back();
}
/**
* Return message body from Parts Specification Form
* @param object $data
* @return string
*/
private function getMessageBody($data) {
$messageBody = 'dummy dummy dummy dummy';
}
Run Code Online (Sandbox Code Playgroud)
并成功发送.但是如何检查它是否被发送?喜欢
if (Mail::sent == 'error') {
echo 'Mail not sent';
} else {
echo 'Mail …Run Code Online (Sandbox Code Playgroud) 如何检查在我的服务器上发送邮件的问题?我运行一个简单的测试:
if(mail($to, $subject, $message)) {
echo 'Mail Sent';
}
Run Code Online (Sandbox Code Playgroud)
测试输出文本; 但是,没有邮件到达.
我该如何追踪问题?
我托管我的网络应用程序,它是用.net mvc2在亚马逊ec2上编写的.currrently使用gmail smtp发送电子邮件.因为谷歌启动电子邮件配额不能每天发送超过500封电子邮件.所以决定移动亚马逊ses.如何使用asp.net mvc2的amazon ses?配置等怎么样?电子邮件是通过Gmail发送的吗?因为我们的电子邮件提供商是gmail.等等
我有一个运行Apache 2.2和PHP 5.3的CentOS 6.2虚拟机,我试图通过PHP的mail()函数发送电子邮件.我可以毫无问题地从CLI发送电子邮件,但是当PHP尝试失败时.在sendmail日志中有以下内容:
Oct 9 11:42:03 localhost sendmail[3080]: NOQUEUE: SYSERR(apache): can not chdir(/var/spool/clientmqueue/): Permission denied
Run Code Online (Sandbox Code Playgroud)
似乎Apache没有权限这样做,但我不知道如何解决它.我已经找到了很多关于这个的讨论,但没有具体到我正在做的事情,我可以使用.任何帮助,将不胜感激.谢谢!
我有一个Unix基本服务器和一个php基础网站.我正在尝试在php.ini中设置sendmail_path的全名和电子邮件地址.
当我将其设置如下(没有名称)时,它工作正常
sendmail_path = /usr/sbin/sendmail -t -i -f'emailaddress@example.com'
Run Code Online (Sandbox Code Playgroud)
但如果我尝试添加如下名称则失败
sendmail_path = /usr/sbin/sendmail -t -i -f'"Full Name" <emailaddress@example.com>'
Run Code Online (Sandbox Code Playgroud)
您可能会建议使用,sendmail_from但正如我所提到的,它是Unix服务器,并且sendmail_from将忽略任何设置.有人知道如何解决这个问题吗?
任何帮助将提前感谢.
目标:使用HTML正文和二进制附件发送邮件(使用sendmail).
遵循以下链接中指定的准则
http://www.unix.com/shell-programming-scripting/159522-sendmail-html-body-attachment-2.html
http://www.unix.com/shell-programming-scripting/58448-sendmail-attachment.html
它的工作范围是HTML主体或带有uuencode的二进制附件,但不是两者兼而有之.
下面给出了sendmail的shell脚本片段.有了这个,HTML正文变得很好,但附件被错误编码/解码,无法查看相同.
请指教.
#!/usr/bin/ksh
export MAILFROM="noreply@site.dom"
export MAILTO="somebody@somesite.com"
export SUBJECT="Test PDF for Email"
export BODY="email_body.htm"
export ATTACH="file.pdf"
export MAILPART=`uuidgen` ## Generates Unique ID
(
echo "From: $MAILFROM"
echo "To: $MAILTO"
echo "Subject: $SUBJECT"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary=\"-$MAILPART\""
echo "---$MAILPART"
echo "Content-Type: text/html"
echo "Content-Disposition: inline"
cat $BODY
echo "---$MAILPART"
echo 'Content-Type: application/pdf; name="'$(basename $ATTACH)'"'
echo "Content-Transfer-Encoding: base64"
echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
uuencode -m $ATTACH $(basename $ATTACH)
echo "---$MAILPART--"
) | /usr/sbin/sendmail $MAILTO …Run Code Online (Sandbox Code Playgroud) 我试图通过cpan安装Net :: SSLeay来安装Email :: Send :: SMTP :: TLS但是我收到以下错误.
cpan[5]> install Net::SSLeay
Running install for module 'Net::SSLeay'
Running make for M/MI/MIKEM/Net-SSLeay-1.49.tar.gz
Has already been unwrapped into directory /home/ubuntu/.cpan/build/Net-SSLeay-1.49-VDZ57t
Could not make: Unknown error
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Run Code Online (Sandbox Code Playgroud)