Страница 3 из 7
Re: Почта не отправляется - SendMail не работает!
Добавлено: Вт фев 18, 2014 8:57 pm
Vovix
Urbas81 писал(а):sergejey писал(а):Функция SendMail использует стандартный mail, так что тоже должна работать. И она поддерживает аттачи:
SendMail("
[email protected]","
[email protected]","subject","body",array('path/to/attach1.ext','path/to/attach2.ext'));
Что-то у меня не получилось, воэможно надо что-то править, а вот пример от
Ivan работает, туда б прикрепить.
Подтверждаю! SendMail() работать перестает, видимо в связи с внесением изменений в файле php.ini
Re: Почта не отправляется - SendMail не работает!
Добавлено: Ср мар 18, 2015 9:28 pm
Vovix
sergejey писал(а):М... в самом деле проблема, как оказалось. Я, честно говоря, когда реализовывал как раз остановился на minirelay из-за того, что после его запуска больше ничего не нужно делать, но вот всплыло, что многие почтовые системы воспринимают от него письма как спам и не доставляют. Короче, раз такое дело, то буду чинить и добавлю возможность отправки писем теми же командами, только с использованием какого-то внешнего почтового ящика.
Сергей, а как дела с починкой?
или я отстал от жизни...

Re: Почта не отправляется - SendMail не работает!
Добавлено: Чт мар 19, 2015 11:27 am
sergejey
Как-то потерялась задача. Вернул в список того, что надо починить

Re: Почта не отправляется - SendMail не работает!
Добавлено: Сб сен 26, 2015 6:52 pm
Zaezd2008
Воспользовался ссылкой
http://blog.nagaychenko.com/2010/02/23/ ... ос-windows поставил sendmail работает, отсылает, но только текст на русском приходит "козябрами".
Теперь вот интересно, а как данную библиотеку "прикрутить" к МД?
Re: Почта не отправляется - SendMail не работает!
Добавлено: Чт окт 01, 2015 8:38 pm
Zaezd2008
Разобрался с кодировкой в sendmail для windows. Если кому интересно, то ниже:
Код: Выделить всё
$to = 'кому';
$from = 'от кого';
$subject = 'тема';
$subject = '=?utf-8?b?'. base64_encode($subject) .'?=';
$headers = "Content-type: text/plain; charset=\"utf-8\"\r\n";
$headers .= "From: ". $from ." <". $from ."> \r\n";
$message = "Текст сообщения";
mail($to, $subject, $message, $headers);
Re: Почта не отправляется - SendMail не работает!
Добавлено: Сб окт 03, 2015 10:43 pm
xor
Решил для себя проблему отправки почты через ЯндексМэйл в Вин ХР -там есть возможность использовать объект CDO - написанием скрипта VBS (пока без возможности прикрепления файлов - мне не нужно, но добавить легко)
Код: Выделить всё
'sendmail.vbs /from:[email protected] /to:кому@addr.def /subj:"subj" /body:"body" /fbody:c:\1\1.txt
'c:\_majordomo\apps\sendmail\sendmail.vbs
Set FSO = CreateObject("Scripting.FileSystemObject")
Set colArgs = WScript.Arguments.Named
If colArgs.Exists("from") Then
myFrom = colArgs.Item("from")
Else
myFrom = "[email protected]" 'замени на свой дефолтный
End If
If colArgs.Exists("to") Then
myTo = colArgs.Item("to")
Else
myTo = "кому[email protected]" 'замени на свой дефолтный
End If
If colArgs.Exists("subj") Then
mySubj = colArgs.Item("subj")
Else
mySubj = "Сообщение от Алисы" '_default subj
End If
If colArgs.Exists("body") Then
myBody = colArgs.Item("body")
Else
myBody = "Сообщение от Алисы" '_default body
End If
If colArgs.Exists("fbody") Then
if FSO.FileExists (colArgs.Item("fbody")) Then
myBody = FSO.OpenTextFile(colArgs.Item("fbody")).ReadAll
End If
End If
Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory.
Const cdoSendUsingPort = 2 'Send the message using the network (SMTP over the network).
Const cdoAnonymous = 0 'Do not authenticate
Const cdoBasic = 1 'basic (clear-text) authentication
Const cdoNTLM = 2 'NTLM
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = mySubj
objMessage.From = myFrom
objMessage.To = myTo
objMessage.TextBody = myBody
If IsArray( myAttachment ) Then
For i = 0 To UBound( myAttachment )
'Set File = FSO.GetFile(myAttachment( i ))
If FSO.FileExists(myAttachment( i )) Then
objMessage.AddAttachment Replace( myAttachment( i ), "\", "\\" ),"",""
end If
Next
ElseIf myAttachment <> "" Then
'Set File = FSO.GetFile(myAttachment)
If FSO.FileExists(myAttachment) Then
objMessage.AddAttachment Replace( myAttachment, "\", "\\" ),"",""
end If
End If
'==This section provides the configuration information for the remote SMTP server.
With objMessage.Configuration.Fields
.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'Name or IP of Remote SMTP Server
.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.yandex.ru"
'Type of authentication, NONE, Basic (Base64 encoded), NTLM
.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
'Your UserID on the SMTP server
.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "user" 'замени на свой логин на яндексе
'Your password on the SMTP server
.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 'замени на свой на яндексе
'Server port (typically 25)
.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
'Use SSL for the connection (False or True)
.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)
.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 90
.Update
'==End remote SMTP server configuration section==
End With
objMessage.Send
Set objMessage = Nothing
+ своя функция
Код: Выделить всё
function mySendMail($from, $to, $subj, $body, $attach="")
{
$mymail="";
if (!empty($from)) {
$mymail = $mymail.' /from:'.$from;
}
if (!empty($to)) {
$mymail = $mymail.' /to:'.$to;
}
if (!empty($subj)) {
$mymail = $mymail.' /subj:"'.$subj.'"';
}
if (!empty($body)) {
$mymail = $mymail.' /body:"'.$body.'"';
}
safe_exec ('cscript.exe //b //t:120 c:\_majordomo\apps\sendmail\sendmail.vbs '.$mymail);
return 'Send';
}
SendMail linux - кракозябры
Добавлено: Сб ноя 21, 2015 11:45 am
Amarok
Привинтил SendMail linux
по этой инструкции. Работает, но письма приходят такие:

- Screenshot_1.png (14.13 КБ) 11409 просмотров
А должно было прийти:
Валера просит перезвонить ему на номер.
Где я опять допилить забыл?
Re: Почта не отправляется - SendMail не работает!
Добавлено: Сб ноя 21, 2015 2:33 pm
kawkay
Попробуй вот так.Пример сработки датчика дыма с отправкой на мыло
$Pogarkamail=(float)gg("5599317-24bit-P1.status");
if ($Pogarkamail>0)
{
$bodytext.='Отправляю майл датчик дым';
say($bodytext,1);
$from=gg('ThisComputer.EMail');
$to=gg("admin.email ");
$subject="=Pogarkamail =";
$msg = $bodytext;
$subject = iconv("UTF-8", "WINDOWS-1251", $subject);
$message = iconv("UTF-8", "WINDOWS-1251", $msg);
SendMail($from, $to, $subject, $message);
}
Re: Почта не отправляется - SendMail не работает!
Добавлено: Сб ноя 21, 2015 2:44 pm
Amarok
хм... сработало. но, хотелось бы, ещё проще
Re: Почта не отправляется - SendMail не работает!
Добавлено: Сб дек 12, 2015 1:06 pm
Amarok
Leks писал(а):Найти библиотеку для php, которая вместо функции mail Использует соединение через сокеты и шлет почту также через ваш ящик
и подправить SendMail, чтобы она использовала ее
А как подправить функцию SendMail для использования PHPMailer?