Intellij java: строки в переключателе не поддерживаются в источнике 1.5 (используйте -source 7 или выше, чтобы включить строки в коммутаторе) [duplicate]

В основном функция mail() отключена на общем хостинге. Лучше использовать SMTP. Лучшим вариантом будет Gmail или SendGrid.


SMTPconfig.php

<?php 
    $SmtpServer="smtp.*.*";
    $SmtpPort="2525"; //default
    $SmtpUser="***";
    $SmtpPass="***";
?>

SMTPmail.php

<?php
class SMTPClient
{

    function SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body)
    {

        $this->SmtpServer = $SmtpServer;
        $this->SmtpUser = base64_encode ($SmtpUser);
        $this->SmtpPass = base64_encode ($SmtpPass);
        $this->from = $from;
        $this->to = $to;
        $this->subject = $subject;
        $this->body = $body;

        if ($SmtpPort == "") 
        {
            $this->PortSMTP = 25;
        }
        else
        {
            $this->PortSMTP = $SmtpPort;
        }
    }

    function SendMail ()
    {
        $newLine = "\r\n";
        $headers = "MIME-Version: 1.0" . $newLine;  
        $headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine;  

        if ($SMTPIN = fsockopen ($this->SmtpServer, $this->PortSMTP)) 
        {
            fputs ($SMTPIN, "EHLO ".$HTTP_HOST."\r\n"); 
            $talk["hello"] = fgets ( $SMTPIN, 1024 ); 
            fputs($SMTPIN, "auth login\r\n");
            $talk["res"]=fgets($SMTPIN,1024);
            fputs($SMTPIN, $this->SmtpUser."\r\n");
            $talk["user"]=fgets($SMTPIN,1024);
            fputs($SMTPIN, $this->SmtpPass."\r\n");
            $talk["pass"]=fgets($SMTPIN,256);
            fputs ($SMTPIN, "MAIL FROM: <".$this->from.">\r\n"); 
            $talk["From"] = fgets ( $SMTPIN, 1024 ); 
            fputs ($SMTPIN, "RCPT TO: <".$this->to.">\r\n"); 
            $talk["To"] = fgets ($SMTPIN, 1024); 
            fputs($SMTPIN, "DATA\r\n");
            $talk["data"]=fgets( $SMTPIN,1024 );
            fputs($SMTPIN, "To: <".$this->to.">\r\nFrom: <".$this->from.">\r\n".$headers."\n\nSubject:".$this->subject."\r\n\r\n\r\n".$this->body."\r\n.\r\n");
            $talk["send"]=fgets($SMTPIN,256);
            //CLOSE CONNECTION AND EXIT ... 
            fputs ($SMTPIN, "QUIT\r\n"); 
            fclose($SMTPIN); 
            // 
        } 
        return $talk;
    } 
}
?>

contact_email.php

<?php 
include('SMTPconfig.php');
include('SMTPmail.php');
if($_SERVER["REQUEST_METHOD"] == "POST")
{
    $to = "";
    $from = $_POST['email'];
    $subject = "Enquiry";
    $body = $_POST['name'].'</br>'.$_POST['companyName'].'</br>'.$_POST['tel'].'</br>'.'<hr />'.$_POST['message'];
    $SMTPMail = new SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $subject, $body);
    $SMTPChat = $SMTPMail->SendMail();
}
?>
43
задан ROMANIA_engineer 17 May 2016 в 20:35
поделиться

5 ответов

Нажмите на меню «Файл», откройте «Структура проекта», затем в разделе «Настройки» должен быть «Проект». Внутри этой вкладки будет параметр SDK Settings, который указывает версию языка, которую вы хотите использовать.

Подробнее см. На странице справки JetBrains («Уровень языка проекта», ). [/ д2]

50
ответ дан Jon Skeet 21 August 2018 в 01:49
поделиться

Изобразительное представление настроек модуля.

0
ответ дан CodeShadow 21 August 2018 в 01:49
поделиться

Единственный способ, с помощью которого эта ошибка будет возникать, заключается в том, что языковой уровень вашего модуля не установлен в 1.7+. Это необходимо установить либо в настройках проекта / модуля IntelliJ, файле проекта pom.xml, либо в обоих.

IntelliJ

enter image description here [/g0]

Maven

<properties>
  <maven.compiler.source>1.7</maven.compiler.source>
  <maven.compiler.target>1.7</maven.compiler.target>

Настройки модуля могут переопределять настройки проекта; если вы устанавливаете это на уровне проекта, и у вас есть определенная проблема в модуле, проверьте настройки модуля.

48
ответ дан Dave Newton 21 August 2018 в 01:49
поделиться
  • 1
    Это больше не действует в AS 0.3.4 и выше. – Adam 22 November 2013 в 05:26
  • 2
    @Adam Android Studio? Тот, который основан на бета-версии Intellij? Что конкретно недействительно? Разве не имело бы смысла предоставлять действенную информацию, хотя никто не говорил о разработке Android? – Dave Newton 22 November 2013 в 06:02
  • 3
    Именно по этой причине у меня была эта проблема. – conorgriffin 6 November 2014 в 23:01
  • 4
    это тоже решило мою проблему – Yar 23 November 2014 в 06:03
  • 5
    Мне все еще приходилось вносить изменения в «Модули». , он может перезаписать уровень языка из «Project & quot; Вкладка. Поэтому, если проблема остается, проверьте настройки уровня языка в разделе «Модули». Вкладка. – chris544 3 June 2015 в 16:13

Помимо упомянутых инструкций мне также нужно было указать уровень языка для каждого модуля. Файл -> Структура проекта -> Модули

2
ответ дан Ihor Tsebriy 21 August 2018 в 01:49
поделиться
  • 1
    Спасибо, я тоже должен был это сделать, ты спасатель – Trotte Boman 26 February 2018 в 14:46

Также проверьте свой код. Возможно, вы случайно сделали что-то вроде этого:

try (HttpClients.createMinimal().execute(new HttpGet(String.format(
          "http://127.0.0.1:%s/extra/LifecycleServlet?action=shutdown",
          runningPort)))) {

вместо

try (CloseableHttpResponse response = HttpClients.createMinimal().execute(new HttpGet(String.format(
          "http://127.0.0.1:%s/extra/LifecycleServlet?action=shutdown",
          runningPort)))) {

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

4
ответ дан Nicholas DiPiazza 21 August 2018 в 01:49
поделиться
Другие вопросы по тегам:

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